C# tilida delegatlarning foydalanish misolini keltiring.
sobes.tech AI
AIdan javob
Delegatlar — bu tip xavfsiz ko‘rsatkichlar bo‘lib, ular metodlarga ko‘rsatkich bo‘lib xizmat qiladi. Ular metodlarni argument sifatida uzatishga, ularni o‘zgaruvchilarga tayinlashga va bu o‘zgaruvchilar orqali chaqirishga imkon beradi. Delegatlar keng qo‘llaniladi voqealar, qayta chaqirishlar va asinxron dasturlash uchun.
Delegatdan foydalanish misoli:
-
Delegatni e’lon qilish: Delegat ko‘rsatishi mumkin bo‘lgan metodning imzosini aniqlaymiz.
public delegate int MyDelegate(int x, int y); -
Metodlarni aniqlash: Delegatga mos keladigan imzoga ega metodlarni yaratamiz.
public class Calculator { public int Add(int a, int b) { return a + b; } public int Subtract(int a, int b) { return a - b; } } -
Delegatdan foydalanish: Delegatning nusxasini yaratamiz va unga metodni tayinlaymiz. So‘ngra, bu delegat orqali metodni chaqiramiz.
public class Program { public static void Main(string[] args) { Calculator calc = new Calculator(); // Add metodiga tayinlangan delegat nusxasini yaratamiz MyDelegate del = new MyDelegate(calc.Add); // Add metodini delegat orqali chaqiramiz int result1 = del(10, 5); // result1 = 15 Console.WriteLine($"Qo‘shish natijasi: {result1}"); // Delegatni Subtract metodiga qayta tayinlaymiz del = calc.Subtract; // Subtract metodini delegat orqali chaqiramiz int result2 = del(10, 5); // result2 = 5 Console.WriteLine($"Ayirish natijasi: {result2}"); } }
Ushbu misolda, MyDelegate har qanday metodga ko‘rsatishi mumkin, u ikki butun son argumentini (int x, int y) qabul qiladi va butun son (int) qaytaradi. Biz ikki delegat nusxasini (del) yaratamiz, ularga Add va Subtract metodlarini tayinlaymiz va keyin bu delegat yordamida metodlarni chaqiramiz.