从这个问题的答案内容中我学到了一个新技巧;为事件添加一个简单的处理程序,以避免在引发事件时检查空值。
public static event EventHandler SomeEvent = delegate {};
并在没有空检查的情况下调用它:
SomeEvent(null,EventArgs.Empty);
这是否会增加大量开销?如果没有,为什么不内置这样的东西?
这是否会增加大量开销?如果没有,为什么不内置这样的东西?
它不会增加显着的开销 - 只是在引发事件时进行委托调用。
至于为什么它不是内置的 - 有几个缺点: