在.Net中,Component
類公開Disposed
事件。它還提供了一個受保護的成員OnDispose(bool disposing)
。最佳實踐:覆蓋組件上的OnDispose(布爾處置)與處置事件
延伸Component
的自定義組件的最佳做法是什麼?覆蓋OnDispose(bool)
或附加一個事件處理程序Disposed
在施工?
我的感覺是,應該覆蓋OnDispose(bool)
並封印課程。
想法?
在.Net中,Component
類公開Disposed
事件。它還提供了一個受保護的成員OnDispose(bool disposing)
。最佳實踐:覆蓋組件上的OnDispose(布爾處置)與處置事件
延伸Component
的自定義組件的最佳做法是什麼?覆蓋OnDispose(bool)
或附加一個事件處理程序Disposed
在施工?
我的感覺是,應該覆蓋OnDispose(bool)
並封印課程。
想法?
典型事件由消費者使用,以便在事件發生時通知他們。如果你正在擴展類型並且需要清理資源,你應該重寫Dispose(bool disposing)
Spence對於事件處理程序是部分正確的,可以分配多個事件,但問題是你無法保證事件處理的順序。
封閉課程通常取決於您設計的內容。
的FxCop的規則也有一些好消息:http://msdn.microsoft.com/en-us/library/ms244737(VS.80).aspx
我建議重寫行爲,因爲組件的實現者可以訪問事件處理程序,因此可能會意外地取消註冊處理程序實現。我相信你也可能需要這樣做,這取決於你的自定義組件在做什麼,因爲如果你有狀態對象或外部接口等,你可能需要在調用基本垃圾處理器之前運行處理任務。
當我聽說過這件事情它是一個.NET標準,傳承覆蓋基類OnXxxxx方法和用戶處理爲Xxxxx事件。
FxCop規則鏈接+1 – 2009-01-19 02:46:59