Tun event-Handler stop garbage collection verhindert?

Wenn ich den folgenden code:

MyClass pClass = new MyClass();
pClass.MyEvent += MyFunction;
pClass = null;

Wird pClass werden, Müll gesammelt? Oder wird es hängen, um noch feuern Ereignisse, wenn Sie auftreten? Brauche ich, um Folgendes zu tun, damit die garbage-collection?

MyClass pClass = new MyClass();
pClass.MyEvent += MyFunction;
pClass.MyEvent -= MyFunction;
pClass = null;
Ich werde unter VORBEHALT zu empfehlen für Leser interessiert in dieser Frage, dass es sich lohnen könnte, vertraut mit leichten events / weak event patterns, die NICHT zu verhindern garbage collection verhindert. Gut SO-bootstrap dieses Thema stackoverflow.com/questions/185931/...
Hinweis für die Nachwelt: beim setzen der Referenz auf null, einfach Verzögerungen der garbage collector durch die Erweiterung durch eine Linie der Umfang der Referenz. .NET ist nicht VB6.

InformationsquelleAutor Mark Ingram | 2008-11-18

Schreibe einen Kommentar