Looking for c# Keywords? Try Ask4Keywords

C# LanguageKonstruktoren und Finalisierer


Einführung

Konstruktoren sind Methoden in einer Klasse, die aufgerufen werden, wenn eine Instanz dieser Klasse erstellt wird. Ihre Hauptaufgabe besteht darin, das neue Objekt in einem nützlichen und konsistenten Zustand zu belassen.

Destruktoren / Finalizer sind Methoden in einer Klasse, die aufgerufen werden, wenn eine Instanz davon zerstört wird. In C # werden sie selten explizit geschrieben / verwendet.

Bemerkungen

C # hat eigentlich keine Destruktoren, sondern Finalizer, die die Destruktorsyntax im C ++ - Stil verwenden. Durch die Angabe eines Destruktors wird die Object.Finalize() Methode überschrieben, die nicht direkt aufgerufen werden kann.

Im Gegensatz zu anderen Sprachen mit ähnlicher Syntax werden diese Methoden nicht aufgerufen, wenn Objekte den Gültigkeitsbereich verlassen, sondern beim Ausführen des Garbage Collector, was unter bestimmten Bedingungen auftritt. Daher können sie nicht in einer bestimmten Reihenfolge ausgeführt werden.

Finalizers sollte nur zur Reinigung von nicht verwalteten Ressourcen verantwortlich sein (Zeiger über die Marshal - Klasse erworben, erhalten durch p / Invoke (Systemaufrufe) oder rohe Zeiger innerhalb unsichere Blöcke verwendet). Um bereinigte Ressourcen zu bereinigen, überprüfen Sie bitte IDisposable, das Dispose-Muster und die using Anweisung.

(Weiterführende Literatur: Wann sollte ich einen Destruktor erstellen? )

Konstruktoren und Finalisierer Verwandte Beispiele