Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Wenn ein Objekt vom Garbage Collector zur Entsorgung markiert wurde, dann ruft der Garbage Collector in der Regel die Finalize-Methode des Objektes auf, bevor er den Speicher des Objektes endgültig freigibt. Schon die Object-Klasse hat Finalize implementiert, und da alle Klassen von Object abgeleitet sind, hat jedes Objekt in .NET eine Finalize-Methode.[]
[] Wobei Finalize von Object streng genommen gar nicht im Rahmen des GCs aufgerufen wird, da es ohnedies nichts macht; der GC-Algorithmus findet heraus, ob ein »neues« Finalize implementiert wurde, und Finalize wird nur dann aufgerufen, wenn die Finalize-Methode überschrieben wurde.
Die Finalize-Methode in ihrer Grundimplementierung von Object macht überhaupt nichts. Sie ist in erster Linie einfach nur vorhanden, und das bedeutet, dass ein Objekt die Finalize-Methode überschreiben muss, wenn es eine eigene Funktionalität für seine »Entsorgungsvorbereitung« implementieren will.