Frank (no reg): Objekt zerstören in C#

Beitrag lesen

Hi,

es gibt auch tatsächlich einen Destruktor in C#, ähnlich dem aus C++. Allerdings wird dieser erst bei der Garbage Collector Aufräumroutine getriggert ...

class A {

// constructor
  public A() { ... }

// destruktor
  public ~A() { ... }

// other code goes here ;)
}

Außerdem kann man ein eigenes Objekt vom Interface IDisposable ableiten und dann die Methode Dispose() implementieren. Der Garbage Collector wird in entsprechendem Falle dann beim Aufräumen der Klasse auch diese Methode aufrufen (wenn das Interface implementiert wird). Das using Statement basiert ebenfalls darauf, es wird beim Verlassen des Gültigkeitsbereiches dann die Dispose Methode des Objektes aufgerufen, "using" mit Objekten die nicht IDisposable implementieren ist meines Wissens nach nicht möglich.

Die Dispose Methode eignet sich für die Implementierung von klassen-spezifischen Aufräumarbeiten, z.b. "teure" Objekte wie COM+ Instanzen zu beseitigen.

Ciao, Frank