Junior — Middle
Explicați ce este un multicast delegate și cum funcționează în contextul delegate-urilor .NET.
sobes.tech AI
Răspuns de la AI
Delegatul multicast în .NET este un delegat care poate stoca referințe la mai multe metode și le poate apela secvențial atunci când este invocat delegatul.
Când adăugați mai multe metode la un delegat (prin operatorul +=), se creează un lanț de apeluri. Când se invocă acest delegat, toate metodele din acest lanț vor fi apelate în ordine.
Exemplu:
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("Salut");
Ieșirea va fi:
Handler1: Salut
Handler2: Salut
Astfel, delegații multicast sunt utili pentru implementarea evenimentelor și callback-urilor, atunci când trebuie să notifici mai mulți abonați.