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.
public 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.
public 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.
public 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.
public 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#