Sobes.tech
Junior

Ներկայացրեք դելեգատների օգտագործման օրինակ C#-ում։

sobes.tech AI

Պատասխան AI-ից

Դելեգատները հանդիսանում են տիպային անվտանգ մեթոդների ցուցիչներ: Նրանք թույլ են տալիս փոխանցել մեթոդներ որպես արգումենտներ, վերագրել դրանք փոփոխականների և կանչել այդ փոփոխականների միջոցով: Դելեգատները լայնորեն օգտագործվում են իրադարձություններ ստեղծելու, հետադարձ կանչեր և ասինխրոն ծրագրավորման համար:

Օրինակ՝ դելեգատի օգտագործման:

  1. Դելեգատի հայտարարում: Դիտարկում ենք մեթոդի սիգնատուրան, որի վրա կարող է ցույց տալ դելեգատը:

    public delegate int MyDelegate(int x, int y);
    
  2. Մեթոդների սահմանում: Ստեղծում ենք սիգնատուրայով համապատասխանող մեթոդներ:

    public class Calculator
    {
        public int Add(int a, int b)
        {
            return a + b;
        }
    
        public int Subtract(int a, int b)
        {
            return a - b;
        }
    }
    
  3. Դելեգատի օգտագործում: Ստեղծում ենք դելեգատի օրինակ և վերագրում նրան մեթոդ:

    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 մեթոդները, և ապա օգտագործում դելեգատը այդ մեթոդների կանչի համար։