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.
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);
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 !"); ...
Abonnement
tous les livres et vidéos ENI en illimité sans engagement
du livre imprimé ou du livre numérique