C#事件系统对于单线程程序是否具有确定性?

Hac*_*rth 7 c# events

可能重复:
事件处理程序执行顺序

C#事件系统对于单线程程序是否具有确定性?这意味着,如果我按此顺序触发事件A,B和C,它们每次都会以相同的顺序处理吗?

我想编写一个严重依赖事件的游戏逻辑,并且事件的处理顺序与调用它们的顺序至关重要.那么我可以使用给定的事件系统,像Reactive Extensions这样的库是否满足这个要求,还是我必须实现自己的观察者系统?

Hen*_*man 3

[对于单线程程序,]如果我按此顺序触发事件 A、B 和 C,它们每次都会按相同的顺序处理吗?

是的。触发事件只是调用方法的一种复杂方式。所以它相当于:

在单个线程上,如果我调用methods A()B()那么C()它们会按该顺序执行吗?

他们当然会。