Linq 1 扩展方法
当我们在不想或不能去修改类的源代码的情况下,又要去增加新的方法时,可以用扩展方法。
class Program { static void Main(string[] args) { int r = 0; GetNum getNum = new GetNum(); r = getNum.Add(1, 2); r = getNum.AddExtend(1, 2, 3); Console.WriteLine(r); } } /// <summary> /// 原始类 /// </summary> class GetNum { /// <summary> /// 原始方法 /// </summary> /// <param name="a"></param> /// <param name="b"></param> /// <returns></returns> public int Add(int a, int b) { return a + b; } } /// <summary> /// 扩展类,必须是静态 /// </summary> static class GetNumExtend { /// <summary> /// 扩展方法,必须是静态 /// </summary> /// <param name="getNum">要扩展的类的对象,this关键字修饰</param> /// <param name="a"></param> /// <param name="b"></param> /// <param name="c"></param> /// <returns></returns> public static int AddExtend(this GetNum getNum, int a, int b, int c) { return a + b + c; } }
linq中,就用到了很多扩展方法。