匿名方法是没有名称的方法。这些方法提供了一种将代码块作为委托参数传递的技术。
匿名方法是通过创建委托实例并使用委托关键字来声明的。
using System; delegate void Demo(int n); namespace DelegateAppl { class TestDelegate { static int num = 50; public static void AddNum(int p) { num += p; Console.WriteLine("Named Method: {0}", num); } public static void MultNum(int q) { num *= q; Console.WriteLine("Named Method: {0}", num); } public static int getNum() { return num; } static void Main(string[] args) { //使用匿名方法创建委托实例 Demo d = delegate(int x) { Console.WriteLine("Anonymous Method: {0}", x); }; //使用匿名方法调用委托 d(100); //使用命名方法实例化委托 d = new Demo(AddNum); //使用命名方法调用委托 d(5); //使用另一个命名方法实例化委托 d = new Demo(MultNum); //使用命名方法调用委托 d(2); Console.ReadKey(); } } }
输出结果
Anonymous Method: 100 Named Method: 55 Named Method: 110
以下是我们的匿名方法。
Demo d = delegate(int x) { Console.WriteLine("Anonymous Method: {0}", x); };