2
從這個question的答案的內容我學到了一個新的竅門;爲事件添加一個簡單的處理程序,以避免在引發時進行空值檢查。爲事件添加簡單處理程序是否會導致重大開銷?
public static event EventHandler SomeEvent = delegate {};
,並調用它沒有空檢查:
SomeEvent(null,EventArgs.Empty);
這是否添加顯著的開銷?如果沒有,爲什麼不是這樣的內置?
有人會認爲,如果他們要在這個功能中構建清理處理程序列表將會留下微不足道的東西。你能否提供一個場景的例子,其中增加的開銷會有問題? – NominSim
@NominSim插座和計時器讓人想起 - 在這些情況下,你不會想要額外的開銷...... –
那麼你會有任何開銷,無論是檢查null或調用一個微不足道的代表,這是更多? – NominSim