Was ist der Unterschied zwischen einem Destruktor und einer Finalize-Methode in einer Klasse, wenn es einen gibt?
Ich habe kürzlich festgestellt, dass Visual Studio 2008 einen Destruktor als Synonym für eine Finalize-Methode betrachtet. Dies bedeutet, dass Sie in Visual Studio nicht beide Methoden gleichzeitig in einer Klasse definieren können.
Zum Beispiel das folgende Codefragment:
class TestFinalize
{
~TestFinalize()
{
Finalize();
}
public bool Finalize()
{
return true;
}
}
Gibt beim Aufruf von Finalize im Destruktor den folgenden Fehler aus:
Der Aufruf ist zwischen den folgenden Methoden oder Eigenschaften nicht eindeutig: 'TestFinalize. ~ TestFinalize ()' und 'TestFinalize.Finalize ()'
Wenn der Aufruf zum Finalisieren auskommentiert ist, wird der folgende Fehler ausgegeben:
Der Typ 'ManagementConcepts.Service.TestFinalize' definiert bereits ein Mitglied namens 'Finalize' mit denselben Parametertypen