一、一般委托方式
Func<int, int, int> AddMethodHander; public unName() { AddMethodHander += AddMethod; } public int AddMethod(int num1, int num2) { int result = num1 + num2; Console.WriteLine(result); return result; } public void Test1() { AddMethodHander.Invoke(20, 30); }
步骤:先实例化委托,注册方法的委托,调用委托。
二、使用匿名方法
public void Test2() { Func<int, int, int> FunMeHandle = delegate(int num1, int num2) { return num1 + num2; }; int result = FunMeHandle.Invoke(21, 31); Console.WriteLine(result); }
将实例化委托和委托方法进行了合并,最后调用委托。
三、使用lambda表达式
public void Test3() { Func<int, int, int> FunMeHan = ( num1, num2) =>num1 + num2; int result = FunMeHan.Invoke(10, 52); Console.WriteLine(result); }
从委托-------匿名方法----------Lambda表达式,不断的简化程序的代码量。