1、什么是委托
从数据结构来讲,委托是和类一样是一种用户自定义类型。
委托是方法的抽象,它存储的就是一系列具有相同签名和返回回类型的方法的地址。调用委托的时候,委托包含的所有方法将被执行。
2、委托的定义
委托是类型,就好像类是类型一样。与类一样,委托类型必须在被用来创建变量以及类型对象之前声明。
委托的声明原型是
delegate <函数返回类型> <委托名> (<函数参数>)
例子:public delegate void MyDelegate(int number);//定义了一个委托MyDelegate,它可以注册返回void类型且有一个int作为参数的函数
3、委托的实例化
3.1 使用new关键字
委托实例化的原型是
<委托类型> <实例化名>=new <委托类型>(<注册函数>)
例子:MyDelegate _MyDelegate=new MyDelegate(CheckMod);//用函数CheckMod实例化上面的MyDelegate 委托为_MyDelegate
3.2 使用匿名方法
<委托类型> <实例化名>=delegate(<函数参数>){函数体};
3.3 使用Lambda表达式
class Program
{
//声明委托
delegate int MyDelegate(int x, int y);