我在“ C#考试参考70-483编程-Rob Miles 2nd Edition”一书中找到了这一部分:
活动订阅者
订阅者使用+ =运算符绑定到发布者。 + =运算符是 重载以在委托和行为之间应用。意思是“添加此 代表该委托人的行为。”委托中的方法不是 确保将它们添加到委托中的顺序被调用。
这部分的最后一句话令人困惑。据我所知,调用列表is preserved的顺序。
或我误解了,这仅表示答案中提到的内容:
通常,对于事件,不能保证任何事情-这取决于实现。
有人可以澄清吗?
答案 0 :(得分:0)
我的理解的确是最后“没有保证”。
是的,似乎Delegate.Combine
保留了调用列表(即要调用的方法的列表)的顺序。但是,如果同时“不保证以添加的顺序调用这些方法”(对于委托,即委托中的调用列表),则似乎无论如何对它们进行排序在该列表中,它们可能会以其他任何顺序被调用。