如何控制触发事件处理程序的顺序?

Mik*_*llo 19 .net events

事件处理程序是否按照它们附加到事件的顺序触发?如果没有,我可以在事件处理程序上强制执行某种顺序,以便按特定顺序调用它们吗?

Jon*_*eet 18

假设事件的简单实现(在委托字段上使用+ =和 - =,Delegate.Combine/Remove然后使用),则是,将按照订阅的顺序调用事件处理程序.保证在Delegate.Combine文档中有效地给出:

返回值

具有调用列表的新多播(可组合)委托,该调度列表以该顺序连接ab的调用列表.

请参阅我关于事件的文章,了解其中的一些示例Delegate.Combine/Remove(以及幕后的事件).