Ներկայացրեք դելեգատների օգտագործման օրինակ C#-ում։
sobes.tech AI
Պատասխան AI-ից
Դելեգատները հանդիսանում են տիպային անվտանգ մեթոդների ցուցիչներ: Նրանք թույլ են տալիս փոխանցել մեթոդներ որպես արգումենտներ, վերագրել դրանք փոփոխականների և կանչել այդ փոփոխականների միջոցով: Դելեգատները լայնորեն օգտագործվում են իրադարձություններ ստեղծելու, հետադարձ կանչեր և ասինխրոն ծրագրավորման համար:
Օրինակ՝ դելեգատի օգտագործման:
-
Դելեգատի հայտարարում: Դիտարկում ենք մեթոդի սիգնատուրան, որի վրա կարող է ցույց տալ դելեգատը:
public delegate int MyDelegate(int x, int y); -
Մեթոդների սահմանում: Ստեղծում ենք սիգնատուրայով համապատասխանող մեթոդներ:
public class Calculator { public int Add(int a, int b) { return a + b; } public int Subtract(int a, int b) { return a - b; } } -
Դելեգատի օգտագործում: Ստեղծում ենք դելեգատի օրինակ և վերագրում նրան մեթոդ:
public class Program { public static void Main(string[] args) { Calculator calc = new Calculator(); // Ստեղծում ենք դելեգատի օրինակ և վերագրում Add մեթոդը MyDelegate del = new MyDelegate(calc.Add); // Կանչում ենք Add մեթոդը դելեգատի միջոցով int result1 = del(10, 5); // result1 = 15 Console.WriteLine($"Արդյունք գումարման: {result1}"); // Վերագրում ենք դելեգատին Subtract մեթոդը del = calc.Subtract; // Կանչում ենք Subtract մեթոդը դելեգատի միջոցով int result2 = del(10, 5); // result2 = 5 Console.WriteLine($"Արդյունք հանումից: {result2}"); } }
Այս օրինակով MyDelegate կարող է ցույց տալ ցանկացած մեթոդ, որը ընդունում է երկու ամբողջական թիվ (int x, int y) և վերադարձնում է ամբողջական թիվ (int): Մենք ստեղծում ենք երկու դելեգատի օրինակ (del), վերագրում նրանց Add և Subtract մեթոդները, և ապա օգտագործում դելեգատը այդ մեթոդների կանչի համար։