在当前版本的 .NET 框架中,并且在正常情况下(即没有有意修改调用列表),事件的处理程序是否总是按照它们注册的顺序被调用?这将与实现事件的多播委托的记录行为一致。
这个问题的公认答案是,按照注册顺序调用处理程序是一个实现细节,可能会在框架的某些未来版本中发生变化。我相信微软不太可能做出这样的改变,因此我将我的问题限制在当前版本的 .NET 框架上。对同一答案的评论说,可以注册处理程序,这样它们就不会按照注册顺序被调用。如果这是真的,那么请演示导致这种无序执行的代码。请不要包含有意修改调用列表的代码。我在这里追求的是我是否可以依赖事件处理程序调用的发生顺序与所有当前版本的 .NET 框架中的注册顺序相同。