Wie übergibt man eine Methode als Parameter in einer C#-Funktion
-
Verwenden Sie
Func
Delegieren, um eine Methode als Parameter in C# zu übergeben -
Verwenden Sie den
Action
-Delegierten, um eine Methode als Parameter in C# zu übergeben
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
- Optionaler Parameter in C#
- Wie sortiere ich eine Liste nach einer Eigenschaft im Objekt in C#
- C# Übergabe mehrerer Parameter an eine Get-Methode
- Überschreiben einer statischen Methode in C#
- Methodengruppen in C#