É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_ProtectedInitialise l'instance de onHandlerAdded.
Une nouvelle instance de EventHandler.
Protected_ProtectedInitialise l'instance de onHandlerCleared.
Une nouvelle instance de EventHandler.
Protected_ProtectedInitialise l'instance de onHandlerRemoved.
Une nouvelle instance de EventHandler.
Déclenche tous les callbacks enregistrés et retourne leur résultat sous une forme simplifiée.
Arguments transmis à chaque callback lors de l'appel.
null si aucun callback, la valeur directe si un seul,
un tableau de valeurs si plusieurs.
Utilisez invoke à la place. invoke retourne un
EventCallResult discriminé qui permet de distinguer sans ambiguïté
les trois cas, même si ReturnType<T> est lui-même un objet ou un tableau.
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.
Déclenche tous les callbacks enregistrés avec les arguments fournis.
Chaque callback est appelé avec ses arguments par défaut suivis des
arguments passés à invoke. Les callbacks sont appelés dans leur
ordre d'enregistrement, indépendamment les uns des autres.
Le résultat dépend du nombre de callbacks enregistrés :
{ type: 'empty' } si aucun callback n'est enregistré.{ type: 'single', value } si un seul callback est enregistré.{ type: 'multiple', values } si plusieurs callbacks sont enregistrés.Arguments transmis à chaque callback lors de l'appel.
Un EventCallResult décrivant le résultat de l'appel.
Supprime 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 concrète de AEventHandler.
Gestionnaire d'événements typé inspiré du pattern
eventde C#. Chaque callback est appelé indépendamment — le résultat de l'un n'influence pas l'appel du suivant.Pour un comportement circulaire où chaque callback reçoit le résultat du précédent, utiliser CircularEventHandler à la place.
Example
See
EventHandler<TEventArgs> — C#