Junior
C#-də nümayəndə nə içərə bilər?
sobes.tech Süni İntellekt
AI-dan cavab
C# dilində delegat, müəyyən bir imzaya (qaytarmalı tip və parametr tipləri) malik metodlara istinadları təmsil edən bir növdür. O, aşağıdakıları ehtiva edə bilər:
- Statik metoda istinad:
// Statik metod public static void StaticMethod(int x) { } // Statik metoda istinad edən delegat MyDelegate d = StaticMethod; - İnstance metoda istinad:
// İnstance metodu olan sinif public class MyClass { public void InstanceMethod(int y) { } } // Sinifin nümunəsini yaratmaq MyClass obj = new MyClass(); // İnstance metoda istinad edən delegat MyDelegate d = obj.InstanceMethod; - Çoxsaylı metodların çağırış siyahısı (invocation list): C#-də delegat əslində çoxkanallıdır. O, bir neçə metoda istinad edə bilər. Belə delegat çağırıldıqda, siyahıdakı bütün metodlar çağrılır və onların əlavə olunma ardıcıllığında icra olunur.
public delegate void MyDelegate(int value); public static void Method1(int z) { } public static void Method2(int w) { } // Çoxkanallı delegatın yaradılması MyDelegate multiDelegate = Method1; multiDelegate += Method2; // İkinci metodu əlavə etmək // Delegat çağırıldıqda, hər iki metod çağrılır multiDelegate(10);