Sobes.tech
Junior

Sniedziet piemēru, kā izmantot delegātus C# valodā.

sobes.tech AI

Atbilde no AI

Dēļi ir veida droši metožu norādītāji. Tie ļauj nodot metodes kā argumentus, piešķirt tās mainīgajiem un izsaukt tās caur šiem mainīgajiem. Dēļi plaši tiek izmantoti notikumu veidošanā, atpakaļzvaniem un asinhronajā programmēšanā:

Dēļa lietošanas piemērs:

  1. Dēļa deklarēšana: Definējiet metodes signatūru, uz kuru var norādīt dēli:

    public delegate int MyDelegate(int x, int y);
    
  2. Metodes definēšana: Izveidojiet metodes ar atbilstošu signatūru:

    public class Calculator
    {
        public int Add(int a, int b)
        {
            return a + b;
        }
    
        public int Subtract(int a, int b)
        {
            return a - b;
        }
    }
    
  3. Dēļa izmantošana: Izveidojiet dēļa eksemplāru un piešķiriet tam metodi. Tad izsauciet metodi caur dēli:

    public class Program
    {
        public static void Main(string[] args)
        {
            Calculator calc = new Calculator();
    
            // Izveido dēļa eksemplāru un piešķir tam Add metodi
            MyDelegate del = new MyDelegate(calc.Add);
    
            // Izsauc Add metodi caur dēli
            int result1 = del(10, 5); // result1 = 15
            Console.WriteLine($"Summa rezultāts: {result1}");
    
            // Pārraksta dēli uz Subtract
            del = calc.Subtract;
    
            // Izsauc Subtract metodi caur dēli
            int result2 = del(10, 5); // result2 = 5
            Console.WriteLine($"Atņemšanas rezultāts: {result2}");
        }
    }
    

Šajā piemērā MyDelegate var norādīt jebkuru metodi, kas pieņem divus veselus skaitļus (int x, int y) un atgriež veselīgu skaitli (int). Mēs izveidojām divus dēļa eksemplārus (del), piešķīrām tiem Add un Subtract metodes, un pēc tam izmantojām dēli šo metožu izsaukšanai.