DELEGATE |
Délégué |
---|---|
C# (C Sharp) |
Syntaxe
scope delegate methode; |
Paramètres
Nom | Description |
---|---|
scope | Ce paramètre permet d'indiquer la portée de la méthode : public, private,... |
methode | Ce paramètre permet d'indiquer une méthode d'une classe |
Description
Ce mot réservé permet d'effectuer une déclaration de type de référence pour encapsuler un nom ou une méthode anonyme.
Remarques
- Les méthodes anonymes dans le langage de programmation C# inclue aussi les expressions lambda.
- Le cadre d'application .NET fournit également un type délégué spécifiquement pour comparer les objets. Ainsi, il sera fort utile d'appeler les méthodes List.Sort ou Array.Sort pour, par la suite, faire des comparaisons.
- Les delegate du langage de programmation C# ressemblent aux pointeurs de fonctions, en langage de programmation C ou C++. Ainsi, un délégué est une variable de type référence contenant la référence à une méthode. La référence peut être modifiée lors de l'exécution.
- Les délégués sont particulièrement utilisés pour la mise en oeuvre d'événements et les méthodes de rappel du cadre d'application .NET. Tous les délégués sont implicitement dérivés de la classe System.Delegate du cadre d'application .NET.
Exemple
L'exemple suivant permet d'effectuer une addition et une multiplication en utilisant une méthode delegate :
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
-
- delegate int ChangerEntier(int n);
-
- namespace DelegatesSamples
- {
- class Program
- {
- static int Nombre = 10;
-
- public static int AdditionEntier(int valeur)
- {
- return Nombre += valeur;
- }
-
- public static int MultiplierEntier(int valeur)
- {
- return Nombre *= valeur;
- }
-
- static void Main(string[] args)
- {
- ChangerEntier Addition = new ChangerEntier(AdditionEntier);
- ChangerEntier Multiplier = new ChangerEntier(MultiplierEntier);
- Addition(16);
- Console.WriteLine("Addition : " + Nombre);
- Multiplier(2);
- Console.WriteLine("Multiplication : " + Nombre);
- }
- }
- }
on obtiendra le résultat suivant :
Addition : 26Multiplication : 52
Dernière mise à jour : Mardi, le 26 janvier 2016