Maison > développement back-end > Tutoriel C#.Net > Comment déclarer et instancier des délégués en C# ?

Comment déclarer et instancier des délégués en C# ?

WBOY
Libérer: 2023-09-04 20:01:05
avant
1420 Les gens l'ont consulté

Comment déclarer et instancier des délégués en C# ?

Les délégués C# sont similaires aux pointeurs de fonction en C ou C++. Un délégué est une variable de type référence qui contient une référence à une méthode. Les références peuvent être modifiées au moment de l'exécution.

Syntaxe pour déclarer un délégué -

delegate <return type> <delegate-name> <parameter list>
Copier après la connexion

Voyons maintenant comment instancier un délégué en C#.

Après avoir déclaré le type délégué, vous devez utiliser le mot-clé new pour créer l'objet délégué et l'associer à une méthode spécifique. Lorsque vous créez un délégué, les paramètres passés à la nouvelle expression sont écrits comme un appel de méthode, mais sans les paramètres de la méthode.

public delegate void printString(string s);
...
printString ps1 = new printString(WriteToScreen);
printString ps2 = new printString(WriteToFile);
Copier après la connexion

Voici un exemple de déclaration et d'instanciation d'un délégué en C# -

Exemple

Démonstration en direct

using System;

delegate int NumberChanger(int n);
namespace DelegateAppl {

   class TestDelegate {
      static int num = 10;

      public static int AddNum(int p) {
         num += p;
         return num;
      }

      public static int MultNum(int q) {
         num *= q;
         return num;
      }

      public static int getNum() {
         return num;
      }

      static void Main(string[] args) {
         //create delegate instances
         NumberChanger nc1 = new NumberChanger(AddNum);
         NumberChanger nc2 = new NumberChanger(MultNum);

         //calling the methods using the delegate objects
         nc1(25);
         Console.WriteLine("Value of Num: {0}", getNum());
         nc2(5);
         Console.WriteLine("Value of Num: {0}", getNum());
         Console.ReadKey();
      }
   }
}
Copier après la connexion

Sortie

Value of Num: 35
Value of Num: 175
Copier après la connexion

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal