Exporter (0) Imprimer
Développer tout

Délégués (Guide de programmation C#)

Un délégué est un type qui référence une méthode. Une fois qu'une méthode est assignée à un délégué, ce dernier se comporte exactement comme cette méthode. La méthode du délégué peut être utilisée comme n'importe quelle autre méthode, avec des paramètres et une valeur de retour, comme dans cet exemple :

public delegate int PerformCalculation(int x, int y);

Toute méthode qui correspond à la signature du délégué, composée du type et des paramètres de retour peut être assignée au délégué. Cela rend possible de modifier par programme les appels de méthode, mais également d'insérer du nouveau code dans les classes existantes. Tant que vous connaissez la signature du délégué, vous pouvez assigner votre propre méthode déléguée.

Cette capacité de faire référence à une méthode comme à un paramètre font des délégués les instruments idéaux pour définir des méthodes de rappel. Par exemple, un algorithme de tri peut se voir transmettre une référence à la méthode qui compare deux objets. Séparer le code de comparaison permet à l'algorithme d'être écrit d'une manière plus générale.

Vue d'ensemble des délégués

Les délégués ont les propriétés suivantes :

  • Les délégués sont semblables aux pointeurs fonction C++, mais sont de type sécurisé.

  • Les délégués permettent aux méthodes d'être transmises comme des paramètres.

  • Les délégués peuvent être utilisés pour définir des méthodes de rappel.

  • Les délégués peuvent être chaînés ; par exemple, plusieurs méthodes peuvent être appelées sur un seul événement.

  • Les méthodes ne doivent pas correspondre exactement à la signature du délégué. Pour plus d'informations, consultez Covariance and Contravariance.

  • C# version 2.0 introduit le concept de méthodes anonymes, qui permettent de passer des blocs de code comme paramètres au lieu d'une méthode définie séparément.

Dans cette section

Spécification du langage C#

Pour plus d'informations, consultez les sections suivantes dans Spécifications du langage C#.

  • 1.11 Délégués

  • 4.2.6 Types délégués

  • 7.5.5.2 Appels de délégué

  • 15 Délégués

Voir aussi

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2015 Microsoft