您的位置:首页 > 编程语言 > C#

C#扩展方法

2015-09-09 10:12 281 查看
using System;using System.Collections.Generic;using System.Linq;using System.Text;/* * 扩展方法允许编写和声明它的类之外的类关联的方法 * 1、扩展方法必须声明为static * 2、扩展方法声明所在的类也必须声明为static * 3、扩展方法必须包含关键字this 作为他的第一个参数类型,并在后面跟着它扩展的类的名称*/namespace ExtendMethod{ sealed class MyData { private double D1, D2, D3; public MyData(double d1, double d2, double d3) { D1 = d1; D2 = d2; D3 = d3; } public double Sum() { return D1 + D2 + D3; } } static class ExtendMyData { public static double Average(this MyData md)//扩展类MyData的方法 { return md.Sum()/3; } } static class ExtendMyData1 { public static double Average( MyData md)//非扩展类MyData的方法 { return md.Sum() / 3; } } class Program { static void Main(string[] args) { MyData md = new MyData(3, 4, 5); Console.WriteLine("Sum: {0}",md.Sum()); Console.WriteLine("扩展方法md.Avrage: {0}", md.Average()); Console.WriteLine("非扩展方法ExtendMyData1.Average:{0}",ExtendMyData1.Average(md)); Console.ReadKey(); } }}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: