English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Action est un type de délégué défini dans l'espace de noms System. Le type de délégué Action est identique au délégué Func, à l'exception que le délégué Action ne retourne pas de valeur. En d'autres termes, le délégué Action peut être utilisé avec des méthodes ayant un type de retour void.
Action<T> est un délégué générique intégré au .NET Framework, qui peut être utilisé pour transmettre des méthodes en tant que paramètres via le délégué Action<T>, sans avoir à déclarer explicitement un délégué personnalisé. La méthode encapsulée doit correspondre à la signature de la méthode définie par le délégué. Autrement dit, la méthode encapsulée doit avoir un paramètre passé par valeur et ne doit pas retourner de valeur.
Par exemple, le delegate suivant affiche une valeur int.
public delegate void Print(int val); static void ConsolePrint(int i) { Console.WriteLine(i); } static void Main(string[] args) { Print prnt = ConsolePrint; prnt(10); }
10
Vous pouvez utiliser le delegate Action pour remplacer le delegate Print défini précédemment, par exemple :
static void ConsolePrint(int i) { Console.WriteLine(i); } static void Main(string[] args) { Action<int> printActionDel = ConsolePrint; printActionDel(10); }
Vous pouvez utiliser le mot-clé new ou affecter directement une méthode pour initialiser le delegate Action :
Action<int> printActionDel = ConsolePrint; //ou Action<int> printActionDel = new Action<int>(ConsolePrint);
Le delegate Action peut accepter au maximum16différents types de paramètres d'entrée.
Il est également possible d'affecter une méthode anonyme à un delegate Action, par exemple :
static void Main(string[] args) { Action<int> printActionDel = delegate(int i) { Console.WriteLine(i); }; printActionDel(10); }
10
Les expressions Lambda peuvent également être utilisées avec le delegate Action :
static void Main(string[] args) { Action<int> printActionDel = i => Console.WriteLine(i); printActionDel(10); }
Par conséquent, vous pouvez utiliser n'importe quelle méthode qui ne retourne pas de valeur de type Action délégué.
Action délégué peut accepter au moins 0 et au plus16un paramètre, sans retour de valeur.
Action représente un delegate sans paramètres et sans retour de valeur.
Action<int, string> représente un delegate sans retour de valeur avec des paramètres int, string.
Action<int, string, bool> représente un delegate sans retour de valeur avec des paramètres int, string, bool.
Action<int, int, int, int> signifie qu'il y a des entrées4Un paramètre int, délégué sans retour de valeur.
Définir facilement les délégués.
Raccourcir le code.
Types compatibles dans tout l'application.
Le délégué Action est le même que le délégué Func, mais le délégué Action ne renvoie rien. Le type de retour doit être void.
Le délégué Action peut avoir de 0 à16Un paramètre d'entrée.
Le délégué Action peut être utilisé avec des méthodes anonymes ou des expressions lambda.