如果我有擁有管理IDisposable
對象需要保持周圍的窗體的壽命(即一流水平的成員,或許是一類包裝和管理的單元測試的緣故定時器)形式,什麼時候應該打電話Dispose()
?我應該在哪裏處理由表單管理的對象?
對於這個問題(避免「GC將其丟棄你」式的答案),我們還假設有額外的停機邏輯我需要調用,例如着想:
Buffer.Flush()
Buffer.Dispose()
我可以將其放入我的部分類(Form.Designer.vb
)中Dispose()
方法的現有實現中,但修改該類通常是不被接受的。
看來,FormClosed
或Disposed
事件將是最好的選擇。任何理由選擇一個在另一個之上?
如果它實現了'IDisposable',則應該用'using'語句包裝資源的創建。 – Oded 2012-07-09 20:21:28
如果是需要留級的班級成員,我不能那樣做,對嗎? (編輯問題添加這個額外的信息) – 2012-07-09 20:27:07
不,你不能這樣做與領域。從你的問題中不清楚這是一個領域。請編輯並澄清。 – Oded 2012-07-09 20:28:06