IWeakEventListener Interface

Définition

Prend en charge l'écoute d'événements pour les classes qui doivent recevoir des événements à travers le modèle WeakEvent et WeakEventManager.

public interface class IWeakEventListener
public interface IWeakEventListener
type IWeakEventListener = interface
Public Interface IWeakEventListener
Dérivé

Remarques

Le WeakEventManager (un répartiteur) transfère un événement en appelant la ReceiveWeakEvent méthode sur les classes qui implémentent cette interface, et qui ont été ajoutées en tant qu’écouteurs en appelant les WeakEventManager méthodes au préalable.

La raison principale pour suivre le modèle WeakEvent est lorsque la source de l’événement a une durée de vie d’objet potentiellement indépendante des écouteurs d’événements. L’utilisation de la distribution d’événements centraux d’un WeakEventManager permet aux gestionnaires d’écouteurs d’être récupérés par le garbage collector (ou purgés manuellement), même si la durée de vie de l’objet source s’étend au-delà des écouteurs. En revanche, une accroche d’événement normale à l’aide de ou d’une += syntaxe d’événement spécifique à un langage équivalent amène la source potentiellement connectée à conserver une référence forte aux gestionnaires. Cela empêche les références de l’écouteur d’être récupérées par le garbage collector en temps opportun.

Une situation courante dans laquelle les relations entre les sources et les écouteurs suggère l’utilisation de ce modèle est la gestion des événements de mise à jour provenant de sources pour les liaisons de données.

Vous pouvez utiliser le modèle WeakEvent pour écouter les événements qui sont externes à votre application. Vous devez uniquement définir un WeakEventManager pour celui-ci, fournir un comportement d’écoute dans ReceiveWeakEvent , et utiliser WeakEventManager pour attacher les références de gestionnaire plutôt que += .

Méthodes

ReceiveWeakEvent(Type, Object, EventArgs)

Reçoit des événements du gestionnaire d'événements centralisé.

S’applique à

Voir aussi