Forums Neueste Beiträge
 

Event vor dem Schließen von Klassen

24/07/2008 - 12:39 von Karl M. | Report spam
Hallo NG!

Ich habe eine Klasse, in welcher ich eine Verbindung aufbaue. D.h. darin
enthalten sind zwei Methoden Connect() und Disconnect(). Wenn ich Connect()
aufrufe, muss ich nach Fertigstellung meiner Aufgaben immer Disconnect()
aufrufen. Wenn ich das Programm nach einem Connect() einfach schließe, bleibt
im System die Verbindung trotzdem offen. Das würde mir zur Laufzeit Leichen
in den Keller legen. Nun suche ich nach einer Möglichkeit die Methode
Disconnect() aufzurufen, wenn die Klasse gelöscht wird. Gibt es sowas?

Mit freundlichen Grüßen
 

Lesen sie die antworten

#1 Martin Horst
24/07/2008 - 12:55 | Warnen spam
Hallo Karl,

Karl M. schrieb:
Hallo NG!

Ich habe eine Klasse, in welcher ich eine Verbindung aufbaue. D.h. darin
enthalten sind zwei Methoden Connect() und Disconnect(). Wenn ich Connect()
aufrufe, muss ich nach Fertigstellung meiner Aufgaben immer Disconnect()
aufrufen. Wenn ich das Programm nach einem Connect() einfach schließe, bleibt
im System die Verbindung trotzdem offen. Das würde mir zur Laufzeit Leichen
in den Keller legen. Nun suche ich nach einer Möglichkeit die Methode
Disconnect() aufzurufen, wenn die Klasse gelöscht wird. Gibt es sowas?

Mit freundlichen Grüßen



du könntest zum einen einen Destructor in deine Klasse packen und dort
das Disconnect aufrufen. Allerdings ist nicht definiert, wann dieser
Aufruf vom System kommt. Besser wàre es, wenn du deine Klasse von
IDisposable ableitest und dann die Dispose Methode implementierst. Du
kann dann deine Klasse dadurch so aufrufen:

using ( MyClass foo = new MyClass() )
{
}

Sobald das using Statement verlassen wird, wird die Dispose Methode
aufgerufen.

Gruß
Martin

Ähnliche fragen