Share via


C# 及 C++ 中的解構函式語法

您無法從 C# 或 C++ 程式語言呼叫或覆寫 Object.Finalize 方法。 C# 使用解構函式 (Destructor) 做為撰寫最終化程式碼的機制,如解構函式 (C# 程式設計手冊) 中所述。

在 C++ 中,解構函式語法用來實作 Dispose 方法。 C++ 提供自己的語法來實作 Finalize 方法,如 Destructors and Finalizers in Visual C++中所述。

注意事項注意事項

在 .NET Framework 2.0 版之前,C++ 都使用解構函式語法實作 Finalize 方法 (如同 C# 一樣),並沒有特殊的語法來實作 Dispose 方法。若要編譯使用舊語法的 C++ 程式碼,請使用 /clr:oldSyntax 編譯器選項。

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

請參閱

參考

Finalize

/clr (Common Language Runtime 編譯)

概念

覆寫 Finalize 方法

其他資源

清除 Unmanaged 資源