Destruktoren in C#
Beim Umschreiben einer DataAccessHelper Klasse von VB nach C# bin ich auf das folgende Problem gestossen: in VB ist es ohne weiteres möglich, die Finalize() Methode zu überschreiben, wie in folgendem Beispiel:
' Destructor
Protected Overrides Sub Finalize()
Dispose()
End Sub
In C# ist dies so nicht möglich, aber es gibt eine andere elegante Methode, einen eigenen Destruktor zu erstellen:
class TestClass
{
// Dispose Method
void Dispose()
{
//Dispose Statements
}
// Destructor
~TestClass
{
Dispose();
}
}
Zu beachten gilt es, dass eine Klasse nur einen Destruktor besitzen darf und dieser nicht vererbt oder überladen werden kann. Ein direkter Aufruf eines Destruktors ist nicht geplant, für das gibt’s den GC (Garbage Collector).
Kommentar schreiben