Freigeben über


WeakEventManager.ProtectedAddListener(Object, IWeakEventListener) Methode

Definition

Fügt den bereitgestellten Listener der bereitgestellten Quelle für das verwaltete Ereignis hinzu.

protected:
 void ProtectedAddListener(System::Object ^ source, System::Windows::IWeakEventListener ^ listener);
protected void ProtectedAddListener (object source, System.Windows.IWeakEventListener listener);
member this.ProtectedAddListener : obj * System.Windows.IWeakEventListener -> unit
Protected Sub ProtectedAddListener (source As Object, listener As IWeakEventListener)

Parameter

source
Object

Die Quelle, an die Listener angefügt werden.

listener
IWeakEventListener

Die Überwachungsklasse (diese muss IWeakEventListener implementieren).

Hinweise

Rufen Sie diese Methode in Ihren Managerklassenmethoden AddListener für Implementierungen auf WeakEventManager . AddListener ist der vorgeschlagene Name für die statische Methode, die Sie für Ihre Managerklasse definieren, um anderen Klassen das Hinzufügen eines Listeners für ihr schwaches Ereignismuster zu ermöglichen. AddListener sollte zwei Parameter übernehmen: der source Speicherort, an dem der Listener angefügt ist, und die listener Instanz. Rufen Sie für Ihre AddListener Implementierung die ProtectedAddListener Methode für den aktuellen Manager auf, und übergeben Sie dieselben beiden Parameter.

Wenn die Liste der Listener zuvor leer war, ProtectedAddListener ruft die StartListening Methode intern auf, wodurch Ihre spezifische StartListening Überschreibung durch Polymorphismus aufgerufen wird.

ProtectedAddListener Fügt Listener zu einem einzelnen internen WeakEventManager.ListenerList pro source. Wenn ihre Managerimplementierung mehrere Listener für jede Ereignisquellenkombination verwaltet, verwenden ProtectedAddListenerSie diese nicht. Stattdessen sollte Ihre Implementierung eigene WeakEventManager.ListenerList Instanzen erstellen, AddListener Listener zur entsprechenden Liste hinzufügen, und Ereignisse sollten an die entsprechende Listenerliste übermittelt werden, indem Sie das DeliverEventToList Ereignis anstelle der DeliverEvent Methode aufrufen.

Gilt für

Siehe auch