Définition des événements en C# :
Une classe ou un objet peut informer d’autres classes ou objets de ce qui s’est passé à travers des événements. La classe qui envoie (ou cause) l’événement est appelée « émetteur » et la classe qui reçoit (ou traite) l’événement est appelée « abonné ».
Les événements présentent les caractéristiques suivantes :
- L’éditeur décide quand lancer l’événement, et l’abonné décide quelle action effectuer en réponse à l’événement.
- Un événement peut avoir plusieurs abonnés. Un abonné peut gérer plusieurs événements provenant de plusieurs émetteurs.
- Les événements sans abonnés ne sont jamais appelés.
- Les événements sont souvent utilisés pour informer les utilisateurs d’actions, telles que des clics de boutons ou des actions de sélection de menus dans les interfaces graphiques.
- Si un événement compte plusieurs abonnés, plusieurs gestionnaires d’événements sont appelés simultanément lorsque l’événement est lancé. Pour appeler des événements de manière asynchrone, voir Appeler des méthodes de synchronisation utilisant l’asynchrone.
- Les threads de synchronisation d’événements peuvent être exploités.
Le mot-clé événement est utilisé pour déclarer les événements dans la classe publisher.
MS LIEN :La connexion hyperlientérée est visible.
Il n’y a en réalité aucune différence entre la méthode d’écriture d’événements A et la méthode d’écriture B !
Vous pouvez vous référer à :La connexion hyperlientérée est visible.
EventHandler<T>Représente une méthode qui accepte deux paramètres (émetteur d’objet, TEventArgs e) et retourne un type void. où TEventArgs doit être un type dérivé de la classe EventArgs. Ce dernier paramètre est utilisé pour stocker les paramètres requis pour l’événement.
EventArgsest la classe de base d’une classe qui contient des données d’événement, qui ne contient pas de données d’événements, et est utilisée par les événements qui ne transmettent pas d’informations d’état au gestionnaire d’événements lorsque l’événement est relancé. Si le gestionnaire d’événements a besoin d’informations d’état, l’application doit déduire une classe à partir de cette classe pour contenir les données.
Volatile.Read .NET 4.0 n’est pas pris en charge
// Résumé: Les références aux objets sont lues depuis le champ spécifié. Lorsqu’elle est nécessaire sur le système, une barrière mémoire est insérée pour empêcher le processeur de réorganiser les opérations mémoire, comme montré ci-dessous : si cette méthode apparaît dans le code après avoir effectué une lecture/écriture, le processeur ne peut pas la déplacer avant cette méthode. // Paramètres : Emplacement : Champs à lire. // Paramètres de type : T : Le type de champ à lire. Il doit s’agir du type de référence, pas du type de valeur. // Résultats du retour : Lisez la référence T. Cette référence est écrite par n’importe quel processeur de l’ordinateur, quel que soit le nombre de processeurs ou l’état du cache processeur. [Contrat de Fiabilité(Consistance.NonÉtatCorrompu, Succès)] [SécuritéSûreCritique] [TargetedPatchingOptOut(« Performance critique pour l’inline à travers les limites d’image NGen »)] public statique T <T>Lecture (réf. T emplacement) où T : classe ;
|