Sobes.tech
Junior — Middle

Тавзеҳ диҳед, ки мультикаст-делегат чист ва дар контексти делегатҳои .NET чӣ гуна кор мекунад.

sobes.tech AI

Ҷавоб аз AI

Даргат multicast дар .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: Салом

Ин гуна multicast-delegates барои иҷрои ҳодисаҳо ва қайтаришҳои паёмнависӣ кӯмак мерасонанд, вақте ки бояд ба чанд обуна хабар дод.