Comment passer une méthode comme paramètre dans une fonction C

  1. Utiliser Func Delegate pour passer une méthode en paramètre en C
  2. Utiliser le délégué Action pour passer une méthode en paramètre en C

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

  • Comment trier une liste par propriété dans l'objet en C#
  • Article connexe - Csharp Parameter

  • Comment trier une liste par propriété dans l'objet en C#