Comment passer une méthode comme paramètre dans une fonction C
-
Utiliser
Func
Delegate pour passer une méthode en paramètre enC#
-
Utiliser le délégué
Action
pour passer une méthode en paramètre enC#

Cet article présente les différentes méthodes pour passer une méthode en paramètre dans une fonction C#.
- Utiliser un délégué
Func
- Utiliser le délégué
Action
Utiliser Func
Delegate pour passer une méthode en paramètre en C#
Nous utiliserons le délégué intégré Func
pour passer une méthode en paramètre. Un délégué agit comme un pointeur de fonction. La syntaxe correcte pour utiliser ce délégué est la suivante.
# cCopypublic delegate returnType Func<in inputType, out returnType>(InputType arg);
Le délégué intégré Func
a N paramètres. Les détails de ses paramètres sont les suivants.
Paramètres | Description | |
---|---|---|
inputType |
obligatoire | C’est le type de valeurs d’entrée pour ce délégué. Il peut y avoir un nombre N de valeurs d’entrée. |
returnType |
obligatoire | C’est le type de la valeur de retour. La dernière valeur de ce délégué est considérée comme le type de retour. |
Le programme ci-dessous montre comment nous pouvons utiliser le délégué Func
pour passer une méthode en paramètre.
# cCopypublic class MethodasParameter {
public int Method1(string input) {
return 0;
}
public int Method2(string input) {
return 1;
}
public bool RunMethod(Func<string, int> MethodName) {
int i = MethodName("This is a string");
return true;
}
public bool Test() {
return RunMethod(Method1);
}
}
Utiliser le délégué Action
pour passer une méthode en paramètre en C#
Nous pouvons également utiliser le délégué intégré Action
pour passer une méthode en paramètre. La syntaxe correcte pour utiliser ce délégué est la suivante.
# cCopypublic delegate void Action<in T>(T obj);
Le délégué intégré Action
peut avoir 16 paramètres en entrée. Les détails de ses paramètres sont les suivants.
Paramètres | Description | |
---|---|---|
T |
obligatoire | C’est le type de valeurs d’entrée pour ce délégué. Il peut y avoir 16 valeurs d’entrée. |
Le programme ci-dessous montre comment nous pouvons utiliser le délégué Action
pour passer une méthode comme paramètre.
# cCopypublic class MethodasParameter {
public int Method1(string input) {
return 0;
}
public int Method2(string input) {
return 1;
}
public bool RunTheMethod(Action myMethodName) {
myMethodName();
return true;
}
RunTheMethod(() => Method1("MyString1"));
}
Article connexe - Csharp Method
- Paramètre facultatif en C#
- Comment trier une liste par propriété dans l'objet en C#
- C# passer plusieurs paramètres à une méthode d'obtention
- Groupes de méthodes en C#