在Winform上實現IDisposable的最佳做法是什麼?IDisposable Winform
- 我有延伸System.Windows.Forms.Form中
- 生成designer.cs已經包含虛擬的Dispose(布爾)方法
- 我的表格上字段手動其中加入的實現的對話實現IDisposable
理想情況下,我將能夠鉤到生成的代碼中的Dispos(布爾)重寫以處置手動添加的IDisposable對象。有關如何正確執行此操作的任何建議?
謝謝。
斯科特
在Winform上實現IDisposable的最佳做法是什麼?IDisposable Winform
理想情況下,我將能夠鉤到生成的代碼中的Dispos(布爾)重寫以處置手動添加的IDisposable對象。有關如何正確執行此操作的任何建議?
謝謝。
斯科特
您可以將該Dispose實現移出.designer.cs和.cs文件。
但是,那麼你的字段需要一個組件(實現IComponent的接口或類似的東西)。 這不是有點矯枉過正嗎?
也許你可以附加一個事件處理程序的處置事件,並處置你的領域在該事件處理程序?
(或只是將它們添加到Dispose方法 - 我不認爲這將是一個問題,因爲據我所知,在Dispose方法的代碼沒有再生... 理想的情況下,Dispose方法的實現不應該已經在* .designer.cs類中...)。
我註銷形式的designer.cs發現
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
_frmFind.RaiseFindEvent -= _frmFind_RaiseFindEvent;
base.Dispose(disposing);
}
這麼簡單:)我沒想到設計師會處理這Dispose方法的任何事件。 – user38309 2009-01-16 16:52:42