Un EventHandler en langage de programmation C# est chargé de gérer les événements, qui sont programmés par le codeur, pour être exécutés lorsque prévu, de manière asynchrone. Chaque langage de programmation a ses fonctions et ses limites, et le gestionnaire d'événements est l'une des fonctions essentielles à la bonne exécution du programme.
Nous comprenons que tout événement qui se produit est une action, qui est le résultat d'une autre action, comme un simple clic sur un bouton suivi des fonctions. Le délégué est une partie importante du gestionnaire d'événements et, une fois créé, il vise la méthode eventhandler.
Syntaxe :
Maintenant que nous avons compris ce qu'est le gestionnaire d'événements, passons à son sujet. La syntaxe d'une fonction ou d'une méthode est une partie cruciale, et une syntaxe simple pour la méthode du gestionnaire d'événements est la suivante :
public delegate void SimpleEH(int a, int b);
Nous avons bien appris ce qu'est le gestionnaire d'événements en C# et sa syntaxe respective. Mais comprendre le fonctionnement du gestionnaire d’événements est un élément important, qui contribue à une meilleure mise en œuvre. Chaque mouvement ou étape d'un programme est un événement géré par un gestionnaire d'événements. Nous avons une méthode pour le gestionnaire d'événements, et le délégué est utilisé pour pointer vers cette méthode. Ici, le délégué peut être de n'importe quel type parmi ces cinq : classe, interface, structure, énumération et délégué.
Nous devons créer une instance du délégué que nous avons déjà appris avec la syntaxe. Le délégué que nous créons pointe vers la méthode eventhandler. Ici, nous devons nous rappeler que tous les événements C# dans .NET sont essentiellement basés sur des délégués.
Fondamentalement, nous devons définir une méthode de gestion d'événements au sein du récepteur d'événements afin de répondre à un événement. Afin d'une meilleure mise en œuvre, la signature du délégué représentant l'événement doit correspondre à la méthode de l'événement que nous traitons actuellement.
Voici les exemples mentionnés :
Nous avons compris la méthode eventhandler, sa syntaxe ainsi que son fonctionnement. Passons maintenant à la mise en œuvre ; ici, nous allons écrire un programme pour imprimer l'édition et l'exécuter.
Code :
using System; public delegate int EHsample(int a, int b); class Program { static void Main() { Adder a = new Adder(); EHsample instanceEHsample = new EHsample(a.Add); int sampleOutput = instanceEHsample(4, 3); Console.WriteLine("\n sampleOutput = {0}", sampleOutput); } } public class Adder { public int Add(int x, int y) { return x + y; } }
Sortie :
Explication : Nous avons simplement commencé par importer notre système. Suivi d'une déclaration d'un délégué. Nous avons déjà compris la syntaxe que nous implémentons ici. Nous avons deux arguments sans délégué, tous deux entiers, a et b. Puis notre classe Program, avec la méthode main. Nous avons un simple Adder, avec une nouvelle instance. Nous avons créé une classe Adder plus loin dans le programme. Ensuite, nous avons créé notre instance pour le délégué et appelé notre instance d'additionneur à ajouter. Nous avons ensuite simplement passé les deux valeurs, qui sont ici 4 et 3. Enfin, nous avons notre instruction print, qui imprimera sampleOutput =, suivie de l'addition des deux valeurs que nous avons passées.
Ensuite, nous avons notre classe publique Adder, où l'opération d'ajout a lieu pour les valeurs que nous avons transmises plus tôt. La fonction Add prend deux arguments, renvoie l’addition des deux et la transmet à la sortie. Pour une sortie correcte, reportez-vous à la capture d'écran ci-dessous :
Ensuite, nous allons implémenter la méthode déléguée eventhandler avec notre prochain exemple.
Code :
using System; public delegate void sampleEventHandler(); class Program { public static event sampleEventHandler _show; static void Main() { _show += new sampleEventHandler(Event); _show += new sampleEventHandler(Handler); _show.Invoke(); } static void Event() { Console.WriteLine("\n Event"); } static void Handler() { Console.WriteLine("\n Handler"); } }
Sortie :
Explication : Semblable à notre premier exemple, nous avons utilisé une instruction, puis notre déclaration pour le délégué et la classe avec la méthode main. Nous avons montré des instances de méthode dans lesquelles nous ajoutons de nouveaux événements à la liste. Ensuite, nous ajoutons deux événements : Event et Handler. Par souci de simplicité, nous avons utilisé le modificateur static pour l'événement, qui permettra un accès direct à l'événement au sein de la méthode statique Main.
De plus, le += utilisé ici n'a aucun lien avec les opérations arithmétiques. Reportez-vous à la capture d'écran ci-dessous pour le résultat :
Chaque événement est une action, et le gestionnaire d'événements gère correctement cet événement. Nous créons une instance pour le délégué et l'appelons si nécessaire ; l'instance du délégué pointe vers la méthode eventhandler. Ces événements sont largement utilisés dans le framework Windows Forms et sont le gestionnaire d'événements, et en cas de threading, nous implémentons le type BackGroundWorker.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!