Junior — Middle
Обяснете какво е мултикаст делегат и как работи в контекста на делегатите .NET.
sobes.tech AI
Отговор от AI
Мултикаст делегат в .NET е делегат, който може да съхранява препратки към няколко метода и да ги извиква последователно при извикване на делегата.
Когато добавите няколко метода към един делегат (чрез оператора +=), се създава верига от извиквания. При извикване на такъв делегат, всички методи в тази верига ще бъдат извикани по ред.
Пример:
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("Здравей");
Изходът ще бъде:
Handler1: Здравей
Handler2: Здравей
По този начин, мултикаст делегатите са полезни за реализиране на събития и обратни повиквания, когато трябва да уведомите няколко абонати.