一、组合委托
委托可以使用“+”运算符来组合,这个运算最终会创建一个新的委托,其调用列表连接了作为操作数的两个委托的调用列表副本。
或者如下:
二、为委托添加方法
使用“+=”运算符。
在使用“+=”运算符时,实际上发生的是创建了一个新的委托,其调用列表是左边的委托加上右边方法的组合。然后将这个新的委托重新赋值给原委托变量。此时原委托变量就指向了一个全新的委托。
如果一个方法在调用列表中出现多次,当委托被调用时,每次在列表中遇到该方法时,它都会被调用一次。
三、从委托中移除方法
使用“-=”运算符
与增加方法相同,也是创建了一个新的委托。
如果调用列表中同一个方法有多个,-=运算符将从列表末尾开始搜素,并且移除第一个匹配的方法。注意:试图移除委托中不存在的方法则没有效果。试图调用空委托则会抛出异常。
解决委托变量没有方法执行报错问题(直接给委托变量添加判断是否为空即可),如下所示: