Entwickler-Ecke

C# - Die Sprache - In Using-Direktive Event abbonieren?


Christoph1972 - So 18.04.10 12:18
Titel: In Using-Direktive Event abbonieren?
Hallo!

Wenn ich in einer Using-Direktive ein Event abboniere wird dann das Abbo am Ende automatisch verworfen? Oder bleib der Verweis weiter bestehen?


C#-Quelltext
1:
2:
3:
4:
5:
using (BackgroundWorker bw = new BackgroundWorker())
{
    bw.DoWork += new DoWorkEventHandler(bw_DoWork);
    bw.RunWorkerAsync(fileName);
}


Christian S. - So 18.04.10 12:24

Der gesamte Backgroundworker wird doch disposed. Das gesamte using-Statement macht meiner Meinung nach hier überhaupt keinen Sinn!


Christoph1972 - So 18.04.10 12:28

Ok, also wird der Verweis ebenfalls verworfen, oder? (ob das nun Sinn macht oder nicht)


Christian S. - So 18.04.10 12:42

Habe mal kurz im Reflector drüber geschaut und kann nicht sehen, dass das gemacht wird. Aber da keine Referenz auf die Variable mehr existiert, wird der GC irgendwann zuschlagen, Du weißt halt nur nicht, wann.


Christoph1972 - So 18.04.10 12:48

Ah ja, vielen Danke für dein Bemühen!