Junior — Middle
Leg uit wat een multicast delegate is en hoe het werkt in de context van .NET-delegates.
sobes.tech AI
Antwoord van AI
De multicast-delegate in .NET is een delegate die verwijzingen naar meerdere methoden kan opslaan en deze sequentieel kan aanroepen bij het oproepen van de delegate.
Wanneer je meerdere methoden toevoegt aan één delegate (via de operator +=), wordt er een oproepketen gemaakt. Bij het aanroepen van zo'n delegate worden alle methoden in deze keten in volgorde aangeroepen.
Voorbeeld:
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");
De output zal zijn:
Handler1: Hallo
Handler2: Hallo
Op deze manier zijn multicast-delegates handig voor het implementeren van evenementen en callbacks, wanneer je meerdere abonnees wilt informeren.