Delegierte in C# - wie man es benutzt

Delegierte in C# - wie man es benutzt

Delegierte werden häufig in C# verwendet, um Ereignisse und Rückrufe zu implementieren. Wenn Sie einen Delegierten erstellen, der einer Methode zugeordnet werden kann, können Sie einen Mechanismus erstellen, damit andere Teile Ihres Codes benachrichtigt werden müssen, wenn ein bestimmtes Ereignis auftritt, oder eine Methode bereitzustellen, die aufgerufen werden soll, wenn eine bestimmte Aktion abgeschlossen ist. Die Delegierten sind ein leistungsstarkes Werkzeug in der C# -Sprache und ein wesentlicher Bestandteil vieler fortschrittlicher Programmierechniken.

Delegierte in C#

Der Delegate ähnelt einem Funktionszeiger in C oder C ++, aber mit zusätzlichen Funktionen wie dem Kombinieren mehrerer Methoden zu einem einzelnen Delegierten, dem Aufrufen einer Liste von Methoden nach Abfolge und Übergabe von Parametern an die Methoden. Hier ist die Syntax dafür:

öffentlicher Delegierter ()

In der obigen Syntax ist der Rückgabetyp der Methode, auf den der Delegate zeigt. ist der Name des Delegiertens und die Parameter, die die Methode annimmt.

So verwenden Sie Delegierte in C#

Um einen Delegierten zu verwenden, müssen Sie zuerst einen Delegierten -Typ definieren, der die Signatur der Methode oder der Methoden angibt, die er referenzieren kann. Ein Delegierertyp kann mit dem Schlüsselwort Delegate definiert werden, gefolgt vom Rückgabetyp, dem Delegiertennamen und der Parameterliste für die Methode oder die Methoden, die er referenzieren kann. Um die Verwendung von Delegierten in C Sharp zu veranschaulichen, habe ich einen Beispielcode angegeben, der eine einfache Addition und Subtraktion ausführt:

mit System verwenden;
Public Delegate Int Performcalculation (int x, int y);
öffentlicher Klassenrechner

public int add (int x, int y)

Rückgabe x + y;

public int subtrahieren (int x, int y)

Rückkehr x - y;


Klassenprogramm

statische void main (String [] args)

Rechner rechner = neuer recherator ();
PerformanceCalculationsberechnungDelegate = Rechner.Hinzufügen;
int result = calculationDelegate (5, 3);
Konsole.WriteLine ($ "addition = result");
calculationDelegate = Rechner.Subtrahieren;
result = calculationDelegate (5, 3);
Konsole.WriteLine ($ "subtraction = result");
Konsole.Zeile lesen();

Zunächst wird der Delegate -Performance definiert, der zwei Ganzzahlparameter erfordert und bei Rückkehr eine Ganzzahl ergibt. Es definiert auch eine Taschenrechnerklasse mit zwei Methoden: Hinzufügen und Subtrahieren, die Additions- und Subtraktionsvorgänge ausführen.

In der Hauptmethode wird eine Instanz der Taschenrechnerklasse erstellt, und dann wird die Methode hinzufügen, einer delegierten Variablen -Berechnung zugeordnet. Dies bedeutet, dass CalculationDelegate jetzt verwendet werden kann, um die Methode der ADD -Methode der Taschenrechnerklasse aufzurufen. Die add -Methode wird unter Verwendung von CalculationDelegate mit den Argumenten 5 und 3 aufgerufen.

Als nächstes wird der CalculationDelegate der Subtrahetmethode der Taschenrechnerklasse zugeordnet. Dies bedeutet, dass CalculationDelegate jetzt verwendet werden kann, um die Subtrahetmethode der Taschenrechnerklasse aufzurufen. Die Subtrahienmethode wird unter Verwendung von CalculationDelegate mit den Argumenten 5 und 3 bezeichnet. Die Funktion readline () wird aufgerufen, um zu verhindern, dass das Konsolenfenster sofort geschlossen wird. Hier ist die Ausgabe des Codes:

Abschluss

Die Delegierten werden in C# üblicherweise für die Ereignisbearbeitung, die Rückruffunktionen und die Möglichkeit verwendet, Funktionen als Argumente an andere Funktionen zu übergeben. Sie bieten eine flexible Möglichkeit, Funktionen auf objektorientierte Weise zu behandeln, sodass es einfacher ist, einen Code zu schreiben.