在调用委托的时候,会调用列表中的所有方法
声明委托类型
如下,delegate关键字开关,然后是返回类型,再定义名称与签名
delegate void MyDel(int vallue);
返回类型与签名指定了委托接受的方法形式
注意:委托类型是没有方法主体的
创建委托对象
使用new运算符创建对象
MyDel del = new MyDel(object.Func); //object.Func是个实例方法
Mydel _del = new MyDel(Object.Func); //Object.Func是个静态方法
使用快捷语法创建对象
MyDel del = object.Func; //object.Func是个实例方法
Mydel _del = Object.Func; //Object.Func是个静态方法
这种语法是能够工作是因为在方法名称和其相应的委托类型之间存在隐式的转换
创建委托对象后会将指定的方法加入到委托的调用列表中
由于委托是引用类型,可以通过赋值来改变包含在委托变量中的引用,如下:
MyDel del;
del = new MyDel(object.FuncA); //创建第一个对象
del = new MyDel(object.FuncB); //创建第二个对象
由于第二个对象也赋值给了变量del,因此del所引用的第一个对象将被垃圾回收器回收










