Share via


使用 C# 和 Managed Extensions for C++ 解構函式語法

您不可以在 C# 或 Managed Extensions for C++ 程式語言中覆寫 Object.Finalize 方法。C# 和 Managed Extensions 提供解構函式做為撰寫最終處理程式碼的機制。您必須在 C# 和 Managed Extensions 中使用解構函式語法來執行清除作業。這些語法很方便,因為它會以隱含方式呼叫物件之基底類別的 Finalize 方法。這樣可以保證對衍生目前類別之解構函式的所有層級呼叫 Finalize

以下程式碼範例是針對解構函式所撰寫的。

~MyClass()
{
   // Perform some cleanup operations here.
}

這個程式碼隱含地轉譯為下列情形。

protected override void Finalize()
{
   try
   {
      // Perform some cleanup operations here.
   }
   finally
   {
      base.Finalize();
   }
}

**注意   **雖然它們看起來相似,但是 C# 和 Managed Extensions 解構函式在語意 (Semantics) 上與 Unmanaged C++ 解構函式並不相同。Managed 程式碼不支援任何類似 C++ 解構函式的語意。

請參閱

清除 Unmanaged 資源 | 覆寫 Finalize 方法 | Object.Finalize 方法 | C# 語言參考 1.7.9 解構函式