Is it safe to assume that event subscribers are called in order of subscription?
Example:
void One(object sender, EventArgs e) {}
void Two(object sende
Pay very close attention to the caveats given by Jon Skeet - "Given that implementation...". In other words, make the slightest change (multiple threads, other handlers, etc.) and you risk losing the order-of-execution invariance.
Do NOT rely on event ordering. All event dispatches should be logically independent, as if they were occurring in parallel. Events are logically independent actions.
I'll go one step further, and assert that if you have to assume an order for events firing, you have a serious design flaw and/or are misusing events.