C#事件和类层次结构

Ale*_*lex 0 c# events class-hierarchy

我有以下课程

儿童班:

public class ChildClass
{
   ...
   private void EventHandler(...);
   ...
}
Run Code Online (Sandbox Code Playgroud)

家长班:

public class ParentClass
{
   ...
   ChildClass child;
   ...
   private void EventHandler(...);
   ...
}
Run Code Online (Sandbox Code Playgroud)

他们都在同一事件上有一个事件处理程序.

问题是这些处理程序将被调用的顺序是什么?

Jon*_*Jon 6

重要的提示

Servy非常正确地指出,我们不能排除有关事件由第三方拥有并且它本身实现访问者的可能性.如果是这样的话那么所有的赌注都会被取消.

下面的原始答案默默地假设我们正在谈论一个标准的,完全无趣的事件实现.

原始答案

活动通过代表实施.

来自MSDN:

委托对象的一个​​有用属性是可以使用+运算符将多个对象分配给一个委托实例.多播委托包含已分配的委托的列表.调用多播委托时,它将按顺序调用列表中的委托.

因此,按照将它们添加到事件的顺序调用处理程序.