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>
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);
Voici un exemple de déclaration et d'instanciation d'un délégué en C# -
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(); } } }
Value of Num: 35 Value of Num: 175
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!