Si vous avez déjà utilisé des pointeurs dans n'importe quel langage de programmation, vous pouvez avoir une idée du références. C # Les délégués fonctionnent de la même manière que les pointeurs. Tout comme nous faisons référence aux fonctions à l'aide de pointeurs, nous pouvons utiliser les délégués pour référencer la fonction en C #. Les délégués sont délibérément construits pour créer des fonctions de rappel et ajouter des événements. Cela signifie qu'un délégué peut décider quelle méthode sera exécutée à quel moment en C #. Les délégués nous aident à encapsuler les fonctions et peuvent exécuter plus de deux fonctions pour un événement solo. Les délégués ont des types de coutume et d'action. Dans ce guide, nous avons décidé de couvrir à la fois ses types et surtout le type «Action». Commençons par la création de fichiers C # dans le shell pour jeter un œil aux délégués.
Exemple # 01:
Sans jeter un œil au délégué personnalisé, nous ne pouvons pas comprendre l'importance du délégué d'action en C #. Dans cet exemple, nous discuterons d'abord du délégué personnalisé. Nous utilisons la bibliothèque «Système» dans le code avec le mot-clé «Utilisation». Cette bibliothèque est un incontournable dans chaque code C # car il nous fait utiliser de nombreuses fonctions et instructions d'utilisation standard dans le code C #.
Sans cette bibliothèque, notre code n'a pas de usage pour nous car il ne montrera pas les résultats requis. Nous avons initialisé une nouvelle classe nommée «Test» avec deux fonctions dedans. L'une de ces fonctions est la fonction principale () du code C # et c'est un incontournable dans chaque code. Sans cette fonction, aucune autre partie du code C # n'est exécutée. Une autre fonction est la fonction «calculer» définie par l'utilisateur, qui sera utilisée pour effectuer des calculs sur les variables. L'exécution commence à partir de la méthode principale ().Avant cela, nous devons décrire la déclaration d'un délégué personnalisé défini dans la première ligne du test de classe.
Nous avons défini un délégué nommé «Custom» ayant deux arguments de type entier (I.e. x et y), faisant référence au même nom et à la même fonction d'argument dans le code. Ce délégué est du modificateur d'accès «public» et initié avec le mot-clé «délégué» suivi du type «vide». Comme la fonction de calcul porte le même nom et les mêmes types d'arguments, ce délégué doit faire référence à la fonction «Calculer». Dans la méthode Main (), nous avons créé un objet «A» du délégué «personnalisé» pour référencer la fonction «calculer». Maintenant, pour transmettre des valeurs à la fonction «calculer», nous utiliserons l'objet «A» du délégué personnalisé (I.e. 14 et 7.) Maintenant, lorsqu'une valeur est passée, la fonction de calcul sera exécutée à l'aide de ces valeurs. Il y a 4 console.Les instructions de fonction écrits () sont utilisées dans la fonction de calcul pour effectuer différentes opérations (i.e. la somme et la soustraction de 2 valeurs, la multiplication de 2 valeurs et la division de deux valeurs en utilisant x et y.)
Il s'agit de l'utilisation du délégué personnalisé en C #. Compilons maintenant ce code C # dans le terminal de Linux à l'aide d'un compilateur C # «MCS». Après l'avoir compilé, le compilateur créera un fichier «exe» pour l'exécution. Maintenant, nous devons utiliser ce fichier «exe» dans le terminal avec l'instruction «mono» pour exécuter notre code. Il s'avère que le délégué fonctionne, comme un objet de classe, est référencé vers la fonction de calcul pour passer ses valeurs et calculer la somme, la soustraction, la multiplication et le résultat de la division I.e. 21, 7, 98 et 2 respectivement.
Exemple # 02:
Le délégué d'action nous évite de définir le délégué personnalisé dans le code et il ne renvoie pas de valeur. En outre, il réduit également la taille d'un code. Disons comment nous pouvons utiliser un délégué d'action dans cet exemple de code? Donc, nous avons commencé la même structure de code de C # ici à l'aide de la bibliothèque «Système», et la classe «Test» dedans. Après cela, nous avons ajouté 2 fonctions (i.e. Fonction de calcul définie par l'utilisateur et fonction Main () intégrée.)
Dans la fonction de calcul, nous utilisons la même console 4.Instructions de fonction writeLine () Pour calculer la somme, la soustraction, la multiplication et la valeur de division des variables «x» et «y» de type entier. Tandis que la fonction principale () contient l'initialisation d'un délégué d'action «A» avec le mot clé «Action» suivi des caractères «» spécifiant les types de retour pour les valeurs paramétriques transmises par ce délégué à la fonction de calcul. Maintenant, la fonction de calcul devient la référence du délégué d'action «A» et nous l'avons utilisé pour transmettre deux valeurs 7 et 14 à la fonction «Calculer» sans l'appeler. Vous pouvez voir que nous n'avons pas à déclarer un délégué d'action comme nous l'avons fait pour la coutume et cela a également réduit un peu la taille d'un code. Enregistrons ce code et utilisons-le lors de l'exécution.
Après la compilation de ce code et l'exécution de son fichier «exe», nous avons le même résultat pour la somme et la multiplication tout en étant un peu différent pour la soustraction et la division. Les délégués personnalisés et d'action fonctionnent de manière assez similaire, mais nous devons d'abord définir le délégué personnalisé.
Exemple # 03:
Voyons comment un délégué d'action réagit lorsque nous utilisons une instruction de retour dans le code. Nous avons donc mis à jour notre code et ajouté la fonction calcul et main (). Dans le principal () de ce code, nous avons créé un délégué d'action «A» de deux paramètres entiers pour référencer la fonction de calcul. Un objet délégué d'action «A» est utilisé pour transmettre deux entiers à la fonction de calcul sans appeler la fonction de calcul et initialiser un entier «s» pour récupérer le résultat calculé dans le main ().
La console.La fonction writeLine () a été utilisée pour afficher la valeur renvoyée de la fonction de calcul à afficher sur l'écran de notre shell. Dans la fonction de calcul, nous avons initialisé une «somme» variable entière calculant la somme de deux valeurs en utilisant deux variables «x» et «y». Après avoir calculé la somme, nous avons renvoyé la variable «somme» à la fonction principale (). Maintenant, nous nous attendons à ce que cela nous donne une erreur sur la compilation.
Donc, après avoir compilé le «délégué.CS ”Fichier avec le compilateur de C #, nous avons une erreur.
Mettons à jour le code pour voir les différents délégués d'utilisation de l'action. Nous avons donc ajouté une fonction principale () simple dans la classe de test. Nous avons initialisé un délégué d'action «A» à l'intérieur suivi du paramètre de type de chaîne. Pour référencer une variable de chaîne, nous devons utiliser le délégué de mots clés suivi du nom d'une variable et de son type de paramètres (i.e. «S».) La console.L'instruction writeLine () affichera la valeur d'une chaîne. En dehors de la fonction principale (), nous avons appelé le délégué d'action et l'avons passé une valeur de chaîne "Hello World".
Après avoir compilé et exécuté notre code, il a affiché notre chaîne à l'aide du délégué d'action «A».
Conclusion:
Cet article démontre le concept de délégués avec certains de ses exemples. Nous avons étudié l'utilisation et la structure des délégués personnalisés afin que nous puissions les comparer avec les délégués d'action. De plus, nous avons discuté de quelques exemples pour l'utilisation des délégués d'action et expliqué en quoi les délégués d'action sont différents des délégués personnalisés, comment ils peuvent réduire la taille d'un code et comment il réagit à l'utilisation de l'énoncé de retour.