2018年11月7日 小雨
一、委托的概念
-
委托和类一样是一种用户自定义类型,它存储的就是一系列具有相同签名和返回类型的方法的地址,调用委托的时候,它所包含的所有方法都会被执行。
-
借用百度上的一句话概括:委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,
可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。
二、委托的声明
与对应的方法具有相同的参数类型、参数个数、返回值。通俗来讲就是“函数的模板原型”。
三、委托的使用
- 用delegate声明一个委托
- 委托实例化
- 调用
1 public class DelegateClass 2 { 3 public delegate void DelegateTest(int a, int b); //1、声明一个委托 4 5 public static void Test() 6 { 7 DelegateTest method = new DelegateTest(Plus); //2、实例化委托 8 //DelegateTest method1 = Plus; //实例化委托的另一种等价写法 9 method.Invoke(1, 2); //3、调用 10 //method1(3, 4); //调用的另一种等价写法 11 } 12 13 private static void Plus(int a, int b) 14 { 15 Console.WriteLine("a={0} b={1}", a, b); 16 } 17 }