2018年11月7日     小雨

一、委托的概念

  1. 委托和类一样是一种用户自定义类型,它存储的就是一系列具有相同签名和返回类型的方法的地址,调用委托的时候,它所包含的所有方法都会被执行。

  2. 借用百度上的一句话概括:委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,

    可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性

二、委托的声明

  与对应的方法具有相同的参数类型、参数个数、返回值。通俗来讲就是“函数的模板原型”。

三、委托的使用

  1. 用delegate声明一个委托
  2. 委托实例化
  3. 调用
 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     }
View Code

相关文章: