Junior — Middle
Erklären Sie, was ein Multicast-Delegat ist und wie er im Kontext von .NET-Delegates funktioniert.
sobes.tech KI
Antwort von AI
Der Multicast-Delegat in .NET ist ein Delegat, der Verweise auf mehrere Methoden speichern kann und diese beim Aufruf des Delegaten nacheinander aufruft.
Wenn Sie mehreren Methoden zu einem Delegaten hinzufügen (über den Operator +=), wird eine Aufrufkette erstellt. Beim Aufruf dieses Delegaten werden alle Methoden in dieser Kette in der Reihenfolge aufgerufen.
Beispiel:
public delegate void Notify(string message);
Notify notifyHandlers = null;
void Handler1(string msg) => Console.WriteLine("Handler1: " + msg);
void Handler2(string msg) => Console.WriteLine("Handler2: " + msg);
notifyHandlers += Handler1;
notifyHandlers += Handler2;
notifyHandlers("Hallo");
Die Ausgabe wird sein:
Handler1: Hallo
Handler2: Hallo
Auf diese Weise sind Multicast-Delegates nützlich für die Implementierung von Ereignissen und Rückrufen, wenn mehrere Abonnenten benachrichtigt werden sollen.