IWeakEventListener Schnittstelle

Definition

Stellt Unterstützung für die Ereigniszuhörensunterstützung für Kurse bereit, die ereignisse über das WeakEvent-Muster und ein WeakEventManager.

public interface class IWeakEventListener
public interface IWeakEventListener
type IWeakEventListener = interface
Public Interface IWeakEventListener
Abgeleitet

Hinweise

Der WeakEventManager (a dispatcher) leitet ein Ereignis weiter, indem die ReceiveWeakEvent Methode für Klassen aufgerufen wird, die diese Schnittstelle implementieren und durch vorher aufrufende WeakEventManager Methoden als Listener hinzugefügt wurden.

Der Hauptgrund für das Folgen des WeakEvent-Musters ist, wenn die Ereignisquelle eine Objektlebensdauer aufweist, die potenziell unabhängig von den Ereignislistenern ist. Durch die Verwendung der zentralen Ereignisverteilung eines WeakEventManager Ereignisses können die Handler für Listener garbage collection (oder manuell gelöscht) werden, auch wenn die Lebensdauer des Quellobjekts über die Listener hinausgeht. Im Gegensatz dazu führt ein normaler Ereignis-Hookup mit += oder einer entsprechenden sprachspezifischen Ereignissyntax dazu, dass die potenziell noch verbundene Quelle einen starken Verweis auf die Handler enthält. Dadurch wird verhindert, dass die Listenerverweise zeitnah müllt werden.

Eine häufige Situation, in der die Beziehungen zwischen Quellen und Listenern die Verwendung dieses Musters vorschlagen, ist die Behandlung von Aktualisierungsereignissen aus Quellen für Datenbindungen.

Sie können das WeakEvent-Muster verwenden, um auf Ereignisse zu lauschen, die sich außerhalb Ihrer Anwendung befinden. Sie müssen nur eine WeakEventManager für sie definieren, das Überwachungsverhalten ReceiveWeakEventbereitstellen und die WeakEventManager Handlerverweise anstelle +=von Handlern anfügen.

Methoden

Name Beschreibung
ReceiveWeakEvent(Type, Object, EventArgs)

Empfängt Ereignisse vom zentralen Ereignis-Manager.

Gilt für:

Weitere Informationen