IWeakEventListener Gränssnitt

Definition

Tillhandahåller stöd för händelselyssning för klasser som förväntar sig att ta emot händelser via WeakEvent-mönstret och en WeakEventManager.

public interface class IWeakEventListener
public interface IWeakEventListener
type IWeakEventListener = interface
Public Interface IWeakEventListener
Härledda

Kommentarer

WeakEventManager (en dispatcher) vidarebefordrar en händelse genom att anropa ReceiveWeakEvent metoden för klasser som implementerar det här gränssnittet och som har lagts till som lyssnare genom att anropa WeakEventManager metoder i förväg.

Den främsta orsaken till att följa WeakEvent-mönstret är när händelsekällan har en objektlivslängd som potentiellt är oberoende av händelselyssnare. Med hjälp av den centrala händelsesändningen av en WeakEventManager kan hanterare för lyssnare samlas in skräp (eller rensas manuellt) även om källobjektets livslängd sträcker sig bortom lyssnarna. En normal händelsekoppling med eller += motsvarande språkspecifik händelsesyntax gör däremot att den potentiellt fortfarande anslutna källan har en stark referens till hanterarna. Detta hindrar lyssnarreferenserna från att samlas in skräp i rätt tid.

En vanlig situation där relationerna mellan källor och lyssnare antyder att det här mönstret används är hanteringen av uppdateringshändelser som kommer från källor för databindningar.

Du kan använda mönstret WeakEvent för att lyssna efter händelser som är externa för ditt program. Du behöver bara definiera en WeakEventManager för den, ange lyssningsbeteende i ReceiveWeakEventoch använda WeakEventManager för att bifoga hanterarreferenserna i stället +=för .

Metoder

Name Description
ReceiveWeakEvent(Type, Object, EventArgs)

Tar emot händelser från den centraliserade händelsehanteraren.

Gäller för

Se även