Junior — Middle
Explica qué es un delegado multicast y cómo funciona en el contexto de los delegados .NET.
sobes.tech AI
Respuesta de la IA
El delegado de multicast en .NET es un delegado que puede almacenar referencias a varios métodos y llamarlos secuencialmente cuando se invoca el delegado.
Cuando agregas varios métodos a un delegado (a través del operador +=), se crea una cadena de llamadas. Al invocar ese delegado, todos los métodos en esa cadena serán llamados en orden.
Ejemplo:
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("Hola");
La salida será:
Handler1: Hola
Handler2: Hola
De esta manera, los multicast delegates son útiles para implementar eventos y callbacks, cuando necesitas notificar a varios suscriptores.