Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Dispose und using

4 views
Skip to first unread message

Matthias Hölzlein

unread,
Mar 29, 2011, 2:13:20 PM3/29/11
to
Hallo,

aus einer Diskussion mit Kollegen ist die Frage entstanden ob ich innerhalb
eines using Blocks ein weiteres using benötige.

Beispiel Code:

using (SqlConnection con = new SqlConnection(...))
{
...

using (SqlCommand cm = cn.CreateCommand(...))
{
...
}
}

Die Meinungen dazu sind ja und nein. :-) Daher die Frage an Euch, vielleicht
habt ihr da eine Idee.

Mein Verständnis wäre, dass ich den inneren using Block nicht brauche, da
beim Verlassen des äußeren alle Objekte disposed werden, die innerhalb des
Blocks erzeugt wurden.

So, dann mal Vorhang auf für die Diskussion und vielen Dank schon mal!

Matthias

Peter Fleischer

unread,
Mar 29, 2011, 3:23:26 PM3/29/11
to
Hi Matthias,
das Ende eines usings (schließende geschweifte Klammer) führt implizit ein
Dispose nur für das Objekt aus, welches zum Scope-Anfang angegeben wurde.
Wenn man also das innere Objekt aufräumen will, muss es für das innere
Objekt ein Dispose geben, z.B mittels using. Die äußere schließende Klammer
führt KEIN Dispose für Objekte innerhalb des Scopes aus.

--
Viele Grüße
Peter

0 new messages