Différence entre les délégués et les événements en C #

Différence clé - Délégués vs Événements en C #
 

C # est un langage de programmation développé par Microsoft. Il prend en charge la programmation structurée et la programmation orientée objet. Les délégués et les événements sont utilisés pour la programmation événementielle en C #. Un délégué est un pointeur de type sécurisé sur une méthode. Dans une application avec une interface utilisateur graphique (GUI), il y a des boutons, etc. Lorsque vous cliquez sur un bouton, une sorte d'action se produit. Ces actions s'appellent des événements. Par exemple, l'actualisation d'une page Web déclenchera l'événement de chargement de page. Cet article traite de la différence entre les délégués et les événements en C #. le différence clé entre délégué et événement en C # est que un délégué est une référence à une méthode alors qu'un événement est associé à un gestionnaire d'événements utilisant un délégué. Lorsqu'un événement se produit, il envoie un signal au délégué. Ensuite, le délégué exécute la fonction correspondante. Par conséquent, tous les événements dépendent des délégués.

CONTENU

1. Vue d'ensemble et différence clé
2. Que sont les délégués en C #
3. Que sont les événements en C #
4. Similarités entre les délégués et les événements en C #
5. Comparaison côte à côte - Délégués vs Événements en C # sous forme de tableau
6. Résumé

Que sont les délégués en C #?

Les délégués en C # ressemblent aux fonctions de rappel d'autres langages de programmation tels que JavaScript. Les fonctions de rappel sont attribuées au moment de l'exécution. Ils fournissent des fonctionnalités qui peuvent être activées et désactivées selon les besoins. La même chose peut être implémentée en utilisant des délégués en C #. Les délégués en C # découplent l'appelant et la fonction appelée. Par conséquent, il réduit le couplage lourd.

.Le cadre NET classe les types en deux catégories. Ce sont des types de valeur et des types de référence. La structure est un exemple de type valeur. La classe est un exemple de type de référence. Les délégués sont également des types référencés. Un délégué est utilisé pour contenir une référence à une méthode. Ce sont des pointeurs sécurisés. Les délégués sont dérivés de la classe System.Delegate. La déclaration de délégué est similaire à une déclaration de méthode, mais contient le mot clé 'delegate'. La syntaxe du délégué est la suivante. délégué. Le type de retour déclare la valeur de retour par la méthode. Il est appelé par le délégué. La liste de paramètres définit les paramètres requis par la méthode. Référez-vous au programme ci-dessous avec les délégués.

Figure 01: Programme C # avec des délégués

Selon le programme ci-dessus, les méthodes calSquare et calCube sont similaires à celles du délégué déclaré. Dans le programme principal, la variable cal est affectée à la fonction calSquare. Maintenant, cal pointe vers la méthode calSquare. Lorsque vous transmettez la valeur, la valeur carrée est renvoyée et imprimée à l'écran. Encore une fois, cal est affecté à la méthode calCube. Maintenant, cal pointe vers la méthode calCube. Lorsque vous transmettez la valeur, la valeur du cube est renvoyée et imprimée à l'écran. Le même délégué est utilisé pour désigner différentes méthodes. Par conséquent, cela augmente la flexibilité du programme.

Que sont les événements en C #?

Dans une application, il peut y avoir des pressions sur les touches, des clics sur les boutons et des mouvements de la souris. Lorsque cela se produit, un événement aura été déclenché. Lorsque vous cliquez sur le bouton d'envoi dans un formulaire de soumission, l'événement button_click () est déclenché en arrière-plan. L'événement appelle à exécuter la fonction associée. Lorsqu'un événement se produit, l'application répond à cela. Il y a deux sections dans un programme de gestion d'événements. L'éditeur contient la définition des événements et des délégués. L'abonné accepte l'événement et fournit le gestionnaire d'événement.

La déclaration de l'événement est événement; Le type d'une déclaration d'événement doit être un type de délégué, et le délégué doit être aussi accessible que l'événement lui-même. Le nom de l'événement doit être un nom C # valide..

Figure 02: Programme C # avec événements

Selon le programme ci-dessus, le délégué et l'événement sont créés. Dans la classe Calculate, il existe une méthode pour ajouter deux nombres. Si un nombre impair est trouvé, l'événement se produira. C'est le eventOddNumber (). Dans la méthode principale, le gestionnaire d'événements eventOddNumber appelle le délégué. Enfin, le délégué exécute la méthode.

Quelle est la similitude entre les délégués et les événements en C #?

  • Les délégués et les événements en C # sont liés à des événements

Quelle est la différence entre les délégués et les événements en C #?

Délégués vs événements en C #

Un délégué est une variable de type référence qui contient la référence à une méthode.. Un événement est un membre de classe de type délégué utilisé par l'objet ou la classe pour informer les autres objets qu'un événement s'est produit..
 Mot-clé
Un délégué est déclaré en utilisant le mot-clé 'delegate'. Un événement est déclaré à l'aide du mot clé "event".
Dépendance
Les délégués sont peu fiables. Les événements dépendent des délégués.

Résumé - Délégués vs Événements en C #

Délégués et événements sont deux concepts associés à la programmation événementielle en C #. Cet article a traité de la différence entre les délégués et les événements en C #. La différence entre délégué et événement en C # est qu'un délégué est une référence à une méthode, alors qu'un événement est associé à un gestionnaire d'événements utilisant un délégué. Les événements dépendent des délégués. Lorsqu'un événement se produit, il envoie un signal au délégué. Ensuite, le délégué exécute la fonction correspondante

Référence:

1.Balagurusamy, E. Programmation en C #, Premier ministre. Quatrième éd., McGraw Hill Education (India) Private Limited, 2016.
2. «Menu principal». Didacticiel C. Disponible ici 
3.sachinbpaul. Délégués en C #, Sachin Paul, 1er octobre 2014. Disponible ici