2
从这个question的答案的内容我学到了一个新的窍门;为事件添加一个简单的处理程序,以避免在引发时进行空值检查。为事件添加简单处理程序是否会导致重大开销?
public static event EventHandler SomeEvent = delegate {};
,并调用它没有空检查:
SomeEvent(null,EventArgs.Empty);
这是否添加显著的开销?如果没有,为什么不是这样的内置?
有人会认为,如果他们要在这个功能中构建清理处理程序列表将会留下微不足道的东西。你能否提供一个场景的例子,其中增加的开销会有问题? – NominSim
@NominSim插座和计时器让人想起 - 在这些情况下,你不会想要额外的开销...... –
那么你会有任何开销,无论是检查null或调用一个微不足道的代表,这是更多? – NominSim