从答案的内容question我学到了一个新技巧;向事件添加一个简单的处理程序,以避免在引发它时进行空检查。
public static event EventHandler SomeEvent = delegate {};
并在没有空检查的情况下调用它:
SomeEvent(null,EventArgs.Empty);
这会增加很多开销吗?如果没有,为什么不是这样的内置?
答案 0 :(得分:2)
这会增加很多开销吗?如果没有,为什么不是这样的内置?
它不会添加重要的开销 - 只是在引发事件时的委托调用。
至于为什么它不是内置的 - 有一些缺点: