委托内部问题

use*_*949 0 .net c#

我想知道C#中的事件或多播委托是否包含一个内部列表来保存所有方法,有谁知道呢?

Meh*_*dad 10

看看MulticastDelegate:

MulticastDelegate具有委托的链接列表,称为调用列表,由一个或多个元素组成.调用多播委托时,调用列表中的委托将按它们出现的顺序同步调用.如果在执行列表期间发生错误,则抛出异常.

更新1:

为了防止混淆:在.NET中,所有 Delegate s都继承自MulticastDelegate,因此所有委托都可以在其调用列表中包含多个元素.

更新2:

请参阅Jon Skeet的帖子,了解一个有趣的事实.:)