C#.Net 的扩展类的基本使用。可以用来扩展密封类
或者外部导入的dll
。
class Program { static void Main(string[] args) { MyData md = new MyData(1, 2); Console.WriteLine("总合:{0}", md.Sum()); Console.WriteLine("平均值:{0}", md.Average()); //直接像实例一样的调用 Console.Read(); } } // 【1】.必须是一个静态类 static class ExtendMyData { // [2] 必须是一个共有的静态方法 public static double Average(this MyData md) // [3] this 关键字 和 类型 { return md.Sum() / 2.0; } } sealed class MyData { private int a; private int b; public MyData(int a, int b) { this.a = a; this.b = b; } public int Sum() { return a + b; } }
输出:
总合:3 平均值:1.5
扩展类的使用主要有 3 个步骤,见代码内的注释说明。
可见,扩展的是基类,使用的时候也是实例化基类,然后进行直接的实例化形式的调用。