1、委托
函数(方法)的容器,可以理解为表示函数(方法)的变量类型,用来存储、传递函数(方法)
委托的本质是一个类,用来定义函数(方法)的类型(返回值和参数的类型)
不同的函数(方法)必须对应和各自“格式”一致的委托
2、基本语法
关键字:delegate
语法:访问修饰符 delegate 返回值 委托名(参数列表)
可以声明在namespace和class语句块中
简单来说就是:函数声明语法前面加一个delegate关键字
3、定义自定义委托
访问修饰符默认不写为public,在别的命名空间中也能使用。private则其他命名空间不能使用
// 声明了一个可以用来存储无参无返回值的容器 // 只是定义了规则,并没有使用 delegate void MyFun(); // 委托规则的声明不能重名(同一语句块中) // 表示用来装载或传递 返回值为int 有一个 int 参数的函数的委托 delegate int MyFun2(int a);
4、使用定义好的委托
基本使用:
static void Fun() { Console.WriteLine("Fun"); } MyFun f = new MyFun(Fun); f.Invoke(); MyFun f2 = Fun; f2(); static int Fun2(int value) { return value; } MyFun2 f3 = Fun2; Console.WriteLine(f3(1)); Console.Wr