Retour au blog
janv. 2022·2 min de lectureTraduit par IA
Langue:DeutschEnglishFrançaisÖsterreichischKlingonian Version originale: Deutsch

Delegates C#

#c

Un delegate est une sorte de pointeur vers une méthode ou un groupe de méthodes qui peuvent être appelées sans que vous ayez besoin de connaître les détails des implémentations sous-jacentes. Les delegates sont particulièrement utiles quand vous devez implémenter des méthodes de rappel (callbacks) ou gérer des événements dans votre application.

Les delegates en C# ont été introduits pour la première fois avec le .NET Framework 1.0 et sont depuis devenus un concept important de la programmation d'applications .NET. Ils font partie du concept de « programmation déléguée », qui permet de passer des méthodes ou des fonctions en arguments à d'autres méthodes ou fonctions. Ce concept vous permet de créer des applications plus flexibles et plus dynamiques.

L'utilisation des delegates en C# est relativement simple. Il faut d'abord définir un type de delegate qui décrit la signature de la méthode vers laquelle le delegate pointe. Par exemple, on pourrait définir un type de delegate pour une méthode qui accepte deux entiers en arguments et renvoie un entier :

delegate int MathOperation(int x, int y);

Une fois le type de delegate défini, vous pouvez créer une instance du delegate et lui affecter une méthode ou un groupe de méthodes vers lesquelles il doit pointer. En C#, vous pouvez aussi utiliser des delegates pour définir des méthodes anonymes, ce qui facilite l'implémentation de méthodes de rappel.

Un exemple d'utilisation de delegates en C# pourrait ressembler à ceci :

public class Calculator
{
  public int Add(int x, int y)
  {
    return x + y;
  }

  public int Subtract(int x, int y)
  {
    return x - y;
  }
}

public class Program
{
  delegate int MathOperation(int x, int y);

  static void Main(string[] args)
  {
    Calculator calc = new Calculator();

    MathOperation add = new MathOperation(calc.Add);
    MathOperation subtract = new MathOperation(calc.Subtract);

    int result1 = add(10, 5);
    int result2 = subtract(10, 5);

    Console.WriteLine("Addition: {0}", result1);
    Console.WriteLine("Subtraction: {0}", result2);

    Console.ReadLine();
  }
}

Dans cet exemple, un type de delegate nommé MathOperation est défini, qui reflète la signature des méthodes Add et Subtract de la classe Calculator. Ensuite, des instances de delegate add et subtract sont créées, qui pointent vers les méthodes Add et Subtract de la classe Calculator. Enfin, les delegates sont appelés pour exécuter les deux opérations, et les résultats sont affichés dans la console.

L'utilisation des delegates en C# est un concept puissant qui vous permet de créer des applications plus flexibles et plus dynamiques. Si vous devez implémenter des méthodes de rappel ou gérer des événements dans votre application, familiarisez-vous avec les delegates et envisagez de les utiliser.

Plus récentRenommer et copier automatiquement les photos GoProPlus ancienSauvegarde automatique vers Amazon S3