C# 与 C++ 中的析构函数语法
您无法从 C# 或 C++ 编程语言中调用或重写 Object.Finalize 方法。 C# 将析构函数用作编写终止代码的机制,如 析构函数(C# 编程指南) 中所述。
在 C++ 中,析构函数语法用于实现 Dispose 方法。 C++ 为实现 Finalize 方法提供了自己的语法,如 Destructors and Finalizers in Visual C++ 中所述。
注意 |
---|
在 .NET Framework 2.0 版之前,C++ 与 C# 一样也使用析构函数用法来实现 Finalize 方法,当时没有特殊语法来实现 Dispose 方法。若要编译使用早期语法的 C++ 代码,请使用 /clr:oldSyntax 编译器选项。 |
尽管看起来相似,但 C# 和 C++ 析构函数的语义与未托管 C++ 析构函数的语义并不相同。 托管代码不支持任何与 C++ 析构函数语义相似的语义。