在一个类中,析构函数和Finalize方法有什么区别(如果有的话)?
最近我发现Visual Studio 2008认为析构函数和Finalize方法是同义词,这意味着Visual Studio不允许在一个类中同时定义这两种方法。
例如,以下代码片段:
class TestFinalize
{
~TestFinalize()
{
Finalize();
}
public bool Finalize()
{
return true;
}
}
在析构函数中调用 Finalize 方法出现如下错误:
该调用在 'TestFinalize.~TestFinalize()' 和 'TestFinalize.Finalize()' 之间有歧义。
如果注释掉对 Finalize 的调用,将会出现以下错误:
类型“ManagementConcepts.Service.TestFinalize”已经定义了一个与“Finalize”具有相同参数类型的成员。