クラスのデストラクタと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'というメンバーを既に定義しています