Heim >Backend-Entwicklung >C++ >Wie kann ich Methoden als Parameter in C#übergeben?

Wie kann ich Methoden als Parameter in C#übergeben?

Barbara Streisand
Barbara StreisandOriginal
2025-02-01 01:16:09668Durchsuche

How Can I Pass Methods as Parameters in C#?

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.

fehl

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn