一、多播委托
持有多个方法的引用的委托,称为多播委托(多路广播委托)。在调用多播委托时,如果调用列表中的某一个方法抛出异常,整个迭代就会停止,该方法之后的所有方法不会被调用。
Delegate类的GetInvocationList()方法,返回一个Delegate对象数组,该数组中的每个元素都是一个委托对象,该对象持有原多播委托调用列表中的一个方法。
如果委托调用的方法里面有异常抛出,则程序无法继续执行。
针对该问题可使用try catch语句块来解决(也只能做到执行完抛出异常的方法,剩下的其他方法则无法执行)。
解决:在调用多播委托时,如果调用列表中的某一个方法抛出异常,整个迭代会停止,该方法之后的所有方法将不会被调用的问题。
Delegate类的GetInvocationList()方法,返回一个Delegate对象数组,该数组中的每个元素都是一个委托对象,该对象持有原多播委托调用列表中的一个方法。
或者如下所示: