Wie übergibt man eine Methode als Parameter in einer C#-Funktion

Minahil Noor 16 Februar 2024
  1. Verwenden Sie Func Delegieren, um eine Methode als Parameter in C# zu übergeben
  2. Verwenden Sie den Action-Delegierten, um eine Methode als Parameter in C# zu übergeben
Wie übergibt man eine Methode als Parameter in einer C#-Funktion

In diesem Artikel werden verschiedene Methoden zur Übergabe einer Methode als Parameter in der C#-Funktion vorgestellt.

  • Verwendung des Func-Delegierten
  • Verwendung des Action-Delegierten

Verwenden Sie Func Delegieren, um eine Methode als Parameter in C# zu übergeben

Wir werden den eingebauten Delegierten Func verwenden, um eine Methode als Parameter zu übergeben. Ein Delegierter verhält sich wie ein Funktionszeiger. Die korrekte Syntax zur Verwendung dieses Delegierten lautet wie folgt.

public delegate returnType Func<in inputType, out returnType>(InputType arg);

Der eingebaute Delegierte Func hat N Parameter. Die Einzelheiten seiner Parameter sind wie folgt.

Parameter Beschreibung
inputType obligatorisch Es ist die Art der Eingabewerte für diesen Delegierten. Es kann eine Anzahl von N Eingabewerten geben.
returnType obligatorisch Es ist der Typ des Rückgabewertes. Der letzte Wert dieses Delegierten wird als Rückgabetyp betrachtet.

Das Programm unten zeigt, wie wir den Func-Delegierten verwenden können, um eine Methode als Parameter zu übergeben.

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);
  }
}

Verwenden Sie den Action-Delegierten, um eine Methode als Parameter in C# zu übergeben

Wir können auch den eingebauten Delegierten Action verwenden, um eine Methode als Parameter zu übergeben. Die korrekte Syntax zur Verwendung dieses Delegaten lautet wie folgt.

public delegate void Action<in T>(T obj);

Der eingebaute Delegierte Action kann 16 Parameter als Eingabe haben. Die Einzelheiten seiner Parameter sind wie folgt.

Parameter Beschreibung
T obligatorisch Es ist die Art der Eingabewerte für diesen Delegierten. Es kann 16 Eingabewerte geben.

Das Programm unten zeigt, wie wir den Action-Delegierten verwenden können, um eine Methode als Parameter zu übergeben.

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"));
}

Verwandter Artikel - Csharp Method

Verwandter Artikel - Csharp Parameter