AbstractÉvénement déclenché chaque fois qu'un handler est ajouté via add ou push.
Initialisé de façon lazy via _p_initOnHandlerAdded lors du premier accès — aucun coût si personne ne s'y abonne.
Événement déclenché une seule fois lorsque tous les handlers sont supprimés via clear.
Initialisé de façon lazy via _p_initOnHandlerCleared lors du premier accès — aucun coût si personne ne s'y abonne.
Événement déclenché chaque fois qu'un handler est retiré via remove.
Initialisé de façon lazy via _p_initOnHandlerRemoved lors du premier accès — aucun coût si personne ne s'y abonne.
Protected_ProtectedRetourne les données associées à la clé donnée, ou null si la clé
n'existe pas.
Point d'accès protégé au dictionnaire interne — permet aux classes
concrètes d'accéder aux données d'un callback sans exposer
#_callbacks directement.
La clé du callback à récupérer.
Les données du callback, ou null si la clé est absente.
Protected Abstract_ProtectedInitialise l'instance de onHandlerAdded.
Appelée une seule fois lors du premier accès à onHandlerAdded. Les classes concrètes retournent leur propre implémentation de IEventHandler.
Une nouvelle instance de gestionnaire d'événement pour les ajouts.
Protected Abstract_ProtectedInitialise l'instance de onHandlerCleared.
Appelée une seule fois lors du premier accès à onHandlerCleared.
Une nouvelle instance de gestionnaire d'événement pour les effacements.
Protected Abstract_ProtectedInitialise l'instance de onHandlerRemoved.
Appelée une seule fois lors du premier accès à onHandlerRemoved.
Une nouvelle instance de gestionnaire d'événement pour les suppressions.
Supprime tous les callbacks enregistrés en une seule opération O(1).
Capture la liste des callbacks avant l'effacement, puis déclenche onHandlerCleared après — garantissant que la Map est vide avant la notification, sans risque de double déclenchement si un observateur appelle add dans son callback.
L'instance courante pour permettre le chaînage.
Retourne la liste des callbacks actuellement enregistrés, dans leur ordre d'enregistrement.
Équivalent de
Delegate.GetInvocationList()
en C#.
Un tableau contenant tous les callbacks enregistrés.
Vérifie si un callback est enregistré sous la clé donnée.
La clé à vérifier.
true si un callback existe pour cette clé, false sinon.
Indique si au moins un callback est enregistré.
true si l'événement a au moins un callback, false sinon.
AbstractinvokeSupprime le callback associé à la clé donnée et le retourne.
Déclenche onHandlerRemoved si des observateurs sont abonnés.
La clé du callback à supprimer.
Le callback supprimé, ou null si la clé n'existe pas.
Implémentation abstraite de IEventHandler.
Fournit toute la logique commune aux gestionnaires d'événements : gestion de la liste des callbacks, génération des clés, déclenchement des événements d'observation (
onHandlerAdded,onHandlerRemoved,onHandlerCleared).Les classes concrètes n'ont qu'à implémenter invoke et les trois méthodes d'initialisation des événements d'observation.
See
IEventHandler