Ist es eine gute Übung, die Ereignisbehandlung über WeakReference zu implementieren, wenn dieses Ereignis das einzige Objekt ist, das die Referenz enthält, und wir das Objekt als Garbage Collection benötigen?WeakReference und Ereignisbehandlung
Als Argument dazu:
Leute sagen, dass, wenn Sie etwas subscribe es in Ihrer Verantwortung zu abmelden und Sie sollten es tun.
Die Frage wird: Was sind die Chancen, dass dieses Ereignis ausgelöst wird, wenn das Objekt Müll gesammelt wird? Warum überhaupt eine WeakReference? –
@Jon Limjap ohne eine schwache Referenz, ist das nicht Chance Null, weil das Ereignis verfolgt das Objekt und daher wird es nicht gesammelt werden? – fostandy
@fostandy: Nein, der Herausgeber eines Events wird von Abonnenten nicht am Leben erhalten, es funktioniert nur umgekehrt. Um Abonnenten zu erlauben, ohne vorherige Abmeldung gekündigt zu werden, sollte man WeakReference verwenden. Siehe: http://StackOverflow.com/a/298276/134761 – angularsen