Heim >Backend-Entwicklung >C#.Net-Tutorial >Was ist das Wesentliche der C#-Delegation?
Ein Delegat ist ein typsicherer Zeiger, der auf eine Methode zeigt. Es kapselt Methodenreferenzen, ermöglicht die Übergabe von Methoden als Parameter und bietet Typsicherheitsgarantien, wodurch Methodensignaturen gezwungen werden, mit Delegatendefinitionen übereinzustimmen.
Die Natur des Delegaten
Ein Delegat ist im Wesentlichen ein typsicherer Zeiger, der auf eine Methode zeigt.
Detaillierte Erklärung
In C# ist ein Delegat eine Klasse, die einen Verweis auf eine Methode kapselt. Es ermöglicht die Übergabe von Methoden als Parameter an andere Methoden und die Verwendung als Rückruffunktionen. Delegaten bieten auch Typsicherheit, da sie erzwingen, dass Methodensignaturen mit der Delegatendefinition übereinstimmen.
Die Syntax eines Delegaten lautet wie folgt:
<code class="c#">public delegate <return type> <delegate name>(<parameter list>);</code>
Wobei:
<return type>
ist der Rückgabetyp der Delegate-Methode. <return type>
是委托方法的返回类型。<delegate name>
是委托的名称。<parameter list>
是委托方法的参数列表。例如,要创建一个委托,指向一个名为 PrintMessage
的方法,可以这样写:
<code class="c#">public delegate void MessagePrinter(string message);</code>
使用委托,我们可以将方法作为参数传递给其他方法。例如:
<code class="c#">public void PrintMessageWithDelegate(MessagePrinter printer, string message) { printer(message); }</code>
在这个例子中,PrintMessageWithDelegate
方法接受一个 MessagePrinter
<Delegiertenname>
ist der Name des Delegierten.
<parameter list>
ist die Parameterliste der Delegate-Methode. Um beispielsweise einen Delegaten zu erstellen, der auf eine Methode namens PrintMessage
verweist, können Sie schreiben:
<code class="c#">MessagePrinter printer = (message) => Console.WriteLine(message);</code>
Mit Delegaten können wir Methoden als Parameter an andere Methoden übergeben. Beispiel:
rrreee🎜In diesem Beispiel akzeptiert diePrintMessageWithDelegate
-Methode einen MessagePrinter
-Delegaten als Parameter und ruft die Methode auf, auf die der Delegat zeigt, um die Nachricht zu drucken. 🎜🎜Delegierte ermöglichen auch die Erstellung anonymer Methoden mithilfe von Lambda-Ausdrücken. Beispiel: 🎜rrreee🎜 In diesem Beispiel erstellt der Lambda-Ausdruck einen Delegaten, der auf eine anonyme Methode verweist, die die angegebene Nachricht an die Konsole druckt. 🎜Das obige ist der detaillierte Inhalt vonWas ist das Wesentliche der C#-Delegation?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!