清除 Unmanaged 資源
更新:2007 年 11 月
您應該將物件的 Finalize 方法範圍限制為 protected,以防止應用程式的使用者直接呼叫它。此外,強列建議您不要從應用程式的程式碼直接呼叫基底類別以外之其他類別的 Finalize 方法。若要適當處置 (Dispose) Unmanaged 資源,建議您實作公用 Dispose 或 Close 方法,這個方法會執行物件必要的清除程式碼。IDisposable 介面會提供 Dispose 方法給實作該介面的資源類別使用。由於它是公用的,因此應用程式的使用者可以直接呼叫 Dispose 方法,以便釋放 Unmanaged 資源所使用的記憶體。當您正確地實作 Dispose 方法時,Finalize 方法便會成為一種防護措施,萬一未呼叫 Dispose 方法時,即可用它來清除資源。如需正確實作的詳細資訊,請參閱實作 Dispose 方法。
在本節中
實作 Dispose 方法
說明如何實作用於釋放 Unmanaged 資源的 Dispose 方法。覆寫 Finalize 方法
說明 Finalize 和 Dispose 方法一起運作的方式。C# 及 C++ 中的解構函式語法
說明 Finalize 方法的 C# 和 C++ 對等用法。使用封裝資源的物件
說明確保已經呼叫 Dispose 方法的方式,例如 C# using 陳述式 (Visual Basic 中的 Using)。
參考
- System.IDisposable
定義用於釋放 Unmanaged 資源的 Dispose 方法。