Sommaire

Les délégués génériques en C#

1. Introduction

Si ce qui précède est extrêmement puissant et permet de définir un évènement en quelques lignes, on peut toutefois faire le constat suivant :

  • Il faut créer un nouveau type à chaque besoin et en plus on doit systématiquement utiliser le mot-clé delegate.

C’est cette limite que se proposent de dépasser les délégués génériques dans leurs recours à Action.

2. Utilisation du délégué Action

En fait, Action ou Action<T> consiste en une variante de délégué qui ne renvoie rien.

public delegate void Action();

public delegate void Action<in T>(T obj);

a. Premier exemple

Le premier exemple suivant met en exergue la simplicité d’utilisation de Action :

using System;  
  
namespace ConsoleAppAction  
{  
    class Programme  
    {  
        static void Main(string[] args)  
        {  
            Action<string> action = new Action<string>(Affichage);  
  
            action("On affiche !");  
  
            action("On affiche encore !");  
  
            action("On affiche encore et encore !");  
  
       ...