Frage zum registrieren eines Ereignisses

08/12/2009 - 10:32 von Maik T. | Report spam
Hallo,

ich habe da mal eine generelle Frage an euch. Ich habe ein Control und
registriere dafür ein Click-Ereignis (+=) im Codebehind.
Meine Frage ist nun, wann deregistriere ich dieses Ereignis wieder? Kann man
es oder ist am besten, wenn man es am Ende in der Click-Ereignis-Methode
wieder deregistriert (-=) oder was schlagt ihr vor?

Vielen Dank schonmal im Voraus!

MfG
Maik T.
 

Lesen sie die antworten

#1 FrankDzaebel
08/12/2009 - 15:09 | Warnen spam
Hallo Maik,

ich habe da mal eine generelle Frage an euch. Ich habe ein Control und
registriere dafür ein Click-Ereignis (+=) im Codebehind.
Meine Frage ist nun, wann deregistriere ich dieses Ereignis wieder? Kann man
es oder ist am besten, wenn man es am Ende in der Click-Ereignis-Methode
wieder deregistriert (-=) oder was schlagt ihr vor?



Oft braucht man das ja nicht zu de-registrieren,
da die Instanz zum Beispiel irgendwann sowieso aus
dem Scope fàllt, oder es wird sowieso nur einmal
subscribed.
Bei COM-Events ist das "-=" wiederum hàufig ratsam,
um die trotzdem intern geführten COM-Referenz-Counter
konsistent zu halten, wodurch ggf. die Freigabe des
Objektes möglich ist.
Wenn man ein managed Szenario hat, in dem
der Handler unsubscribed werden muss, ist das
"-=" das Standard-Mittel. In einigen Situationen ggf.
auch über eigene Synchronisation:

[.NET Matters: Ereignis-Accessoren]
http://msdn.microsoft.com/de-de/mag...63533.aspx


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen