C# Methode Parameter Passion: Ein praktischer Leitfaden
c# bietet einen leistungsstarken Mechanismus für die Übergabe von Methoden als Parameter an andere Methoden und verbessert die Codeflexibilität und die Wiederverwendbarkeit erheblich. Dies wird mit Delegierten erreicht.
Das folgende Beispiel zeigt ein gemeinsames Problem: Versuch, einen Methodennamen an eine andere Methode zu übergeben (RunTheMethod
), ohne die Parameter korrekt anzugeben. Dieser Ansatz schlägt aufgrund einer unzureichenden Parameterdefinition in RunTheMethod
.
Die Lösung beinhaltet die Verwendung des Func
-Delegierten. Func<T, TResult>
repräsentiert eine Methode, die einen Parameter vom Typ T
akzeptiert und einen Wert vom Typ TResult
zurückgibt. Dies ermöglicht eine präzise Parameterspezifikation innerhalb der Empfangsmethode.
Hier ist ein korrigierter Code -Snippet, der die Verwendung des Func
-Delegierten zeigt:
<code class="language-csharp">public class Class1 { public int Method1(string input) { // ... perform operations ... return 0; } public int Method2(string input) { // ... perform different operations ... return 1; } public bool RunTheMethod(Func<string, int> myMethodName) { // ... initial operations ... int result = myMethodName("My String"); // ... subsequent operations ... return true; } public bool Test() { return RunTheMethod(Method1); } }</code>
in diesem verbesserten Code akzeptiert RunTheMethod
einen Func<string, int>
Parameter. Dies bedeutet, dass eine Methode erwartet, dass sie ein String -Argument aufnimmt und eine Ganzzahl zurückgibt. Method1
und Method2
übereinstimmen diese Signatur, sodass sie erfolgreich bestanden werden können.
Diese Technik ermöglicht die Verwendung von Delegierten dynamischen Methodenaufruf und verbessert die Code -Modularität und -wartbarkeit signifikant.
Das obige ist der detaillierte Inhalt vonWie kann ich Methoden als Parameter in C#übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!