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#
Comment passer une méthode comme paramètre dans une fonction 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.

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

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

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

C
# 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"));
}
Vous aimez nos tutoriels ? Abonnez-vous à DelftStack sur YouTube pour nous aider à créer davantage de tutoriels vidéo de haute qualité. Abonnez-vous

Article connexe - Csharp Method

Article connexe - Csharp Parameter