C#では、クラスのデストラクタとFinalizeメソッドの違いは何ですか?
クラスのデストラクタと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'というメンバーを既に定義しています