委托的-=和+=
用try catch ,测试委托的+=,-=,得到结论如下 :、
1,-=有就减,没有就不减,0.0,不报异常。。
2,如果多播委托,有多个指针指向同一个函数地址,那么-= 从委托的后面开始减,从tail,尾部开始减;+=也是在尾部加;
3,如果委托为空,执行的话,报异常,用A, try,catch可以解决,但似乎影响 效率;B,空值检查 ?.invoke(),单线程可以避免异常,似乎很牛b
问题:如何确定一个多播委托中有无某个委托?
委托如果有异常的话,程序会跳出委托链,那么,排在异常委托后的委托,则不能进行,可行办法之一,就是单独执行,用foreach;
为避免异常的烦人事情,多播委托 的调用,直接获取订阅者的列表,单个调用,较为妥当,除非确定真没有异常;
有返回值的话,用获取列表,单个调用的方式也比较好,但是,问题还是又来了,谁有知道谁是谁呢?
事件 event 的修饰,可以在编译上 规范委托,是器封装性更好,而避免滥用。。
未完待续;