Maison >développement back-end >C++ >Comment puis-je passer des méthodes comme paramètres en C #?
C # Passement de paramètre de la méthode: un guide pratique
C # offre un mécanisme puissant pour passer des méthodes en tant que paramètres à d'autres méthodes, améliorant considérablement la flexibilité du code et la réutilisabilité. Ceci est réalisé en utilisant les délégués.
L'exemple ci-dessous illustre un problème commun: tenter de passer un nom de méthode à une autre méthode (RunTheMethod
) sans spécifier correctement les paramètres. Cette approche échoue en raison de la définition insuffisante des paramètres dans RunTheMethod
.
La solution consiste à utiliser le délégué Func
. Func<T, TResult>
représente une méthode qui accepte un paramètre de type T
et renvoie une valeur de type TResult
. Cela permet une spécification précise des paramètres dans la méthode de réception.
Voici un extrait de code corrigé démontrant l'utilisation du délégué Func
:
<code class="language-csharp">public class Class1 { public int Method1(string input) { // ... perform operations ... return 0; } public int Method2(string input) { // ... perform different operations ... return 1; } public bool RunTheMethod(Func<string, int> myMethodName) { // ... initial operations ... int result = myMethodName("My String"); // ... subsequent operations ... return true; } public bool Test() { return RunTheMethod(Method1); } }</code>
Dans ce code amélioré, RunTheMethod
accepte un paramètre Func<string, int>
. Cela signifie qu'il s'attend à une méthode prenant un argument de chaîne et renvoyant un entier. Method1
et Method2
correspondent à cette signature, ce qui leur permet de passer avec succès.
Cette technique, à l'aide de délégués, facilite l'invocation de la méthode dynamique et améliore considérablement la modularité et la maintenabilité du code.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!