Sobes.tech
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.