组合委托
//创建两个委托
MyDel del_A = new MyDel(object.FuncA);
Mydel del_B = new MyDel(object.FuncA);
//组合委托
MyDel del_C = del_A + del_B;
当将del_A与del_B通过+进行组合后,会返回一个新的委托对象,该对象将del_A与del_B中的方法调用列表组合到新的对象里,该新对象赋值给变量del_C,所以执行del_C的时候,会执行del_A与del_B中所保存的方法object.FuncA和object.FuncA
委托添加多个方法
MyDel del = object.FuncA; //创建并初始化委托对象
del += object.FuncB; //增加方法
del += object.FuncC; //增加方法
通过+=符号为委托对象添加更多方法,上例中,del对象不保存了三个方法,在执行del时,这三个方法会被依次调用
注意,在使用+=为委托对象添加新的方法时,实际上是创建了一个新的委托对象(原对象的副本)
移除委托方法
del -= object.FuncB; //移除方法
del -= object.FuncC; //移除方法
通过-=来将委托调用列表中已保存的方法,移除动作是从调用列表的最后一个方法开始匹配,一次只会移除一条匹配的方法,如果调用列表中不存在该方法,则没有任何效果;如果试图调用一个空的委托则会发生异常
注意,在使用-=为委托对象移除方法时,实际上是创建一个新的委托对象(原对象的副本)
调用委托
调用委托就像调用方法一样










