Maison >développement back-end >C++ >Comment puis-je passer des méthodes comme paramètres en C # à l'aide de délégués?

Comment puis-je passer des méthodes comme paramètres en C # à l'aide de délégués?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-02-01 01:31:09911parcourir

How Can I Pass Methods as Parameters in C# Using Delegates?

transmettant C # en tant que paramètre

Lors du traitement de plusieurs méthodes avec des paramètres et des types de retour similaires, mais implémentant différentes méthodes, vous devez appeler dynamiquement ces méthodes en fonction du nom de la méthode. En C #, l'utilisation de la commission est une solution efficace.

Dans l'exemple fourni, l'objectif est de créer une méthode

, qui utilise le nom d'une autre méthode comme paramètre et appelle la méthode. Étant donné que les paramètres de nécessitent une signature de méthode spécifique, la complexité se produira.

.NET Framework a fourni une commission appelée RunTheMethod, nous permettant de spécifier un type de signature de méthode de sécurité. En utilisant , nous pouvons définir les paramètres RunTheMethod comme une méthode qui accepte un paramètre de chaîne et renvoie un entier.

Ce qui suit est l'implémentation après modification: Func Func RunTheMethod Grâce à cette modification, nous pouvons désormais transmettre différentes méthodes en tant que paramètres à

:

<code class="language-csharp">public bool RunTheMethod(Func<string, int> myMethodName)
{
    int i = myMethodName("My String");
    return true;
}</code>
Cette méthode offre une flexibilité et simplifie l'organisation de code en permettant des méthodes d'appel dynamiques en fonction du nom de la méthode.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn