3-委托上方法的添加和移除

一、组合委托

    委托可以使用“+”运算符来组合,这个运算最终会创建一个新的委托,其调用列表连接了作为操作数的两个委托的调用列表副本。

或者如下:

二、为委托添加方法

使用“+=”运算符。

    在使用“+=”运算符时,实际上发生的是创建了一个新的委托,其调用列表是左边的委托加上右边方法的组合。然后将这个新的委托重新赋值给原委托变量。此时原委托变量就指向了一个全新的委托。

    如果一个方法在调用列表中出现多次,当委托被调用时,每次在列表中遇到该方法时,它都会被调用一次。

三、从委托中移除方法

使用“-=”运算符

与增加方法相同,也是创建了一个新的委托。

如果调用列表中同一个方法有多个,-=运算符将从列表末尾开始搜素,并且移除第一个匹配的方法。注意:试图移除委托中不存在的方法则没有效果。试图调用空委托则会抛出异常。

解决委托变量没有方法执行报错问题(直接给委托变量添加判断是否为空即可),如下所示:

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容