Junior — Middle
Оё метавонед консепти делегатҳоро ва нақши онҳо дар барномасозӣ шарҳ диҳед?
sobes.tech AI
Ҷавоб аз AI
Делегатҳо дар C# навъҳое ҳастанд, ки ишораҳо ба методҳо бо имзо ва навъи баргардонидашавӣ муайянро намояндагӣ мекунанд. Онҳо имкон медиҳанд, ки методҳоро ҳамчун параметр гузаронем, онҳоро дар тағирёбандаҳо нигоҳ дорем ва онҳоро динамикӣ даъват кунем.
Роли делегатҳо:
- Имконият медиҳанд, ки қавсҳои бозгашт (callbacks) иҷро кунем.
- Барои рӯйдодҳо ва идоракунии рӯйдодҳо истифода мешаванд.
- Флексибиллик ва васеъшавии кодиҳоро таъмин мекунанд.
Масалан истифодаи делегат:
// Эълон кардани делегат
public delegate int Operation(int x, int y);
class Program
{
static int Add(int a, int b) => a + b;
static int Multiply(int a, int b) => a * b;
static void Main()
{
Operation op = Add;
Console.WriteLine(op(3, 4)); // 7
op = Multiply;
Console.WriteLine(op(3, 4)); // 12
}
}
Инчунин, делегатҳо имкон медиҳанд, ки методҳоро динамикӣ интихоб ва даъват кунем.