Heim > Backend-Entwicklung > C#.Net-Tutorial > Was ist Delegation in c#

Was ist Delegation in c#

下次还敢
Freigeben: 2024-04-04 15:03:24
Original
1075 Leute haben es durchsucht

Ein Delegat in C# ist ein typsicherer Zeiger, der auf eine Methode zeigt, die aufgerufen werden kann. Zu seinen Vorteilen gehören Aufrufbarkeit, Wiederverwendung von Code und asynchrone Programmierung. Die Syntax eines Delegaten ist public Delegate void DelegateName(params Type[] parameterTypes), die durch Deklarieren von Delegate-Variablen, Zeigen auf Methoden und Aufrufen des Delegaten verwendet werden kann. Im Beispiel zeigt der Delegate CalculationDelegate auf die Methode Add und wird zur Berechnung der Summe von 10 und 20 verwendet.

Was ist Delegation in c#

Die Rolle von Delegaten in C#

Ein Delegat ist ein typsicherer Zeiger in C#, der auf eine Methode zeigt, die aufgerufen werden kann. Delegierte können Codeblöcke als Parameter übergeben und so Rückrufmechanismen und andere erweiterte Entwurfsmuster aktivieren.

Vorteile von Delegierten

Delegierte haben die folgenden Vorteile:

  • Aufrufbarkeit: Delegierte können wie Methoden aufgerufen werden, ohne die Methode zu kennen, auf die verwiesen wird.
  • Code-Wiederverwendung: Delegierte ermöglichen die Weitergabe von Codeblöcken an andere Objekte und ermöglichen so die Wiederverwendung und Entkopplung von Code.
  • Asynchrone Programmierung: Delegierte spielen bei der asynchronen Programmierung eine wichtige Rolle für die Verarbeitung abgeschlossener Methodenrückrufe.

Syntax des Delegaten

Die Syntax zum Deklarieren eines Delegaten lautet wie folgt:

<code class="c#">public delegate void DelegateName(params Type[] parameterTypes);</code>
Nach dem Login kopieren

wobei:

  • DelegateName der Name des Delegaten ist. DelegateName 是委托的名称。
  • params Type[] parameterTypes 指定委托方法的参数类型。

委托的使用

在 C# 中,可以使用委托的以下方式:

  • 声明委托变量:
<code class="c#">DelegateName delegateVariable;</code>
Nach dem Login kopieren
  • 指向方法:
<code class="c#">delegateVariable = new DelegateName(MethodName);</code>
Nach dem Login kopieren
  • 调用委托:
<code class="c#">delegateVariable();</code>
Nach dem Login kopieren

委托的示例

以下示例演示了委托在 C# 中的使用:

<code class="c#">public delegate int CalculationDelegate(int num1, int num2);

class Program
{
    static int Add(int num1, int num2)
    {
        return num1 + num2;
    }

    static void Main()
    {
        CalculationDelegate calculate = new CalculationDelegate(Add);
        int result = calculate(10, 20);
        Console.WriteLine($"Result: {result}");
    }
}</code>
Nach dem Login kopieren

在这个示例中,委托 CalculationDelegate 被用来指向方法 Add

params Type[] parameterTypes Gibt den Parametertyp der Delegate-Methode an. 🎜🎜🎜🎜Verwendung von Delegaten🎜🎜🎜In C# können Sie Delegaten auf folgende Weise verwenden: 🎜🎜🎜🎜Delegatvariablen deklarieren:🎜🎜🎜rrreee🎜🎜🎜Zeigen auf. Methoden:🎜🎜🎜rrreee 🎜🎜🎜Provision anrufen :🎜 🎜🎜rrreee🎜🎜Beispiel für einen Delegaten🎜🎜🎜Das folgende Beispiel zeigt die Verwendung von Delegaten in C#: 🎜rrreee🎜In diesem Beispiel wird der Delegat CalculationDelegate verwendet, um auf die Methode Hinzufügen und dann diesen Delegaten verwenden, um die Summe zweier Zahlen zu berechnen. 🎜

Das obige ist der detaillierte Inhalt vonWas ist Delegation in c#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
c#
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage