最佳答案
我看到过一些关于这个习语的提法(包括 所以) :
// Deliberately empty subscriber
public event EventHandler AskQuestion = delegate {};
好处是显而易见的——它避免了在引发事件之前检查 null 的需要。
不过,我很想知道这样做是否有什么不好的地方。例如,它是否是某种被广泛使用并且足够透明以至于不会引起维护头痛的东西?空事件订阅者呼叫是否有明显的性能损失?