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 მეთოდები, და შემდეგ გამოვიყენეთ დელეგატი ამ მეთოდების გამოძახებისთვის.