我已经看到了一些关于这个成语的提法(包括SO):
// Deliberately empty subscriber public event EventHandler AskQuestion = delegate {};
好处很明显-避免了在引发事件之前检查null的需要。
但是,我很想知道是否存在任何弊端。 例如,它是否被广泛使用并且足够透明以至于不会引起维护麻烦?空事件订阅者调用是否有明显的性能下降?
唯一的缺点是调用额外的空代理会导致非常轻微的性能损失。除此之外,没有维护罚款或其他缺点。