我目前正在修復一個沒有Dispose使用模式的c#代碼庫。在一個IDisposable模式中,基類應該允許派生類共享其處理的標誌嗎?
這是一個大的代碼庫,這是一個需要資源的代碼庫,並在低級別使用了很多定製託管C++庫。
我對配置模式有很好的理解。我花了一些時間瞭解什麼,我認爲是在這個問題上的黃金標準的文章:Joe Duffy's dispose article
在試圖儘量減少重複代碼,我們一直在考慮一些處置輔助類,所以我的問題:
如果一個基類實現了一個標準的Dispose模式,它應該允許它的處理標誌被共享,即。標記爲受保護的?
澄清我的意思是應該只有一個繼承heirarchy中只有一個布爾狀態,定義一個對象實例是否已被處置或應該有一個私人布爾在繼承階梯的每一步?
在MSDN,並在上面的鏈接的例子在每個級別設置一個標誌,但從來沒有解釋它背後的原因。我對這個問題有兩個想法,你有什麼想法和理由?
謝謝 - 但要澄清你爲什麼贊成在每個級別的私人財產單一受保護的財產? – morechilli 2009-07-03 15:09:34