Junior — Middle
Spiega cos'è un delegato multicast e come funziona nel contesto dei delegati .NET.
sobes.tech AI
Risposta dell'AI
Il delegato multicast in .NET è un delegato che può memorizzare riferimenti a più metodi e chiamarli sequenzialmente quando viene invocato.
Quando si aggiungono più metodi a un delegato (tramite l'operatore +=), viene creata una catena di chiamate. Quando si invoca tale delegato, tutti i metodi di questa catena vengono chiamati in ordine.
Esempio:
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("Ciao");
L'output sarà:
Handler1: Ciao
Handler2: Ciao
In questo modo, i delegati multicast sono utili per implementare eventi e callback, quando si desidera notificare più sottoscrittori.