Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Les événements C# : Gestion des actions utilisateur et notifications système

Les événements sont des actions utilisateur telles que l'appui sur une touche, les clics, les mouvements de souris, etc., ou certaines occurrences comme les notifications générées par le système. Les applications doivent répondre aux événements lorsqu'ils se produisent. Par exemple, les interruptions. Les événements sont utilisés pour la communication inter-processus.

Utilisation des délégués avec les événements

Les événements sont déclarés et déclenchés dans une classe et associés aux gestionnaires d'événements à l'aide de délégués au sein de la même classe ou d'une autre classe. La classe contenant l'événement est utilisée pour publier l'événement. On l'appelle la classe éditeur (publisher). Une autre classe qui accepte cet événement est appelée la classe abonné (subscriber). Les événements utilisent le modèle éditeur-abonné.

Un éditeur est un objet qui contient la définition de l'événement et du délégué. L'association événement-délégué est également définie dans cet objet. Un objet de la classe éditeur déclenche l'événement et en informe les autres objets.

Un abonné est un objet qui accepte l'événement et fournit un gestionnaire d'événement. Le délégué dans la classe éditeur invoque la méthode (gestionnaire d'événement) de la classe abonné.

Déclaration des événements

Pour déclarer un événement à l'intérieur d'une classe, vous devez d'abord déclarer un type délégué pour l'événement :

public delegate string BoilerLogHandler(string str);

Ensuite, déclarez l'événement en utilisant le mot-clé event :

event BoilerLogHandler BoilerEventLog;

Le code ci-dessus définit un délégué nommé BoilerLogHandler et un événement nommé BoilerEventLog, qui invoque le délégué lorsqu'il est déclenché.

Exemple

Démonstration en direct
using System; 
namespace SampleApp { 
    public delegate string MyDel(string str); 
    class EventProgram { 
        event MyDel MyEvent; 
        public EventProgram() { 
            this.MyEvent += new MyDel(this.WelcomeUser); 
        } 
        public string WelcomeUser(string username) { 
            return "Bienvenue " + username; 
        } 
        static void Main(string[] args) { 
            EventProgram obj1 = new EventProgram(); 
            string result = obj1.MyEvent("Tutorials Point"); 
            Console.WriteLine(result); 
        } 
    } 
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant :

Bienvenue Tutorials Point

Langue C

  1. Classes et objets C# : Fondations pour une POO robuste
  2. Comprendre les modificateurs d'accès C# : Public, Private, Protected, Internal et plus
  3. Mot-clé Static C# : Maîtriser les variables, méthodes et classes statiques
  4. Maîtriser les classes et méthodes abstraites C# : Guide pratique
  5. Comprendre les classes imbriquées C# : Définition, utilisation et héritage
  6. Comprendre les classes et méthodes partielles C#
  7. Maîtriser les classes et méthodes sealed en C# : Quand les utiliser, exemples clairs et sécurité du code
  8. Comprendre le polymorphisme en C++ : Guide pratique
  9. Maîtriser l'abstraction de données en C++ : Simplifier la conception par séparation interface-implémentation