Was ist in C # der Unterschied zwischen einem Destruktor und einer Finalize-Methode in einer Klasse?
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, was 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 den folgenden Fehler beim Aufruf von Finalize im Destruktor aus:
Der Aufruf ist zwischen den folgenden Methoden oder Eigenschaften nicht eindeutig: 'TestFinalize. ~ TestFinalize ()' und 'TestFinalize.Finalize ()'.
Und wenn der Aufruf von Finalize auskommentiert ist, wird der folgende Fehler ausgegeben:
Der Typ 'ManagementConcepts.Service.TestFinalize' definiert bereits ein Element namens 'Finalize' mit denselben Parametertypen