Usul havolasini o‘rnatish
Yuqorida Delegat o‘zgaruvchisi usul to‘g‘ridan to‘g‘ri o‘zlashtirilgan. Yana bir usul – zarur usulni o‘zlashtirish bilan konstruktor yordamida delegat ob’ektini yaratish:
class Program
{
delegate int Operation(int x, int y);
static void Main(string[] args)
{
Operation del = Add;
Operation del2 = new Operation(Add);
Console.Read();
}
private static int Add(int x, int y) { return x + y; }
}
Ikkala usulda ham teng.
Uslublarning delegatga muvofiqligi
Yuqorida yozilganidek, agar ular bir xil qaytariladigan turga va bir xil parametrlar to‘plamiga ega bo‘lsa usullar delegatga muvofiq bo‘ladi. Biroq e’tiborga olish kerak, shuningdek, ref va out modifikatorlari ham e’tiborga olinadi. Masalan, bizda delegat bo‘lsin:
delegate void SomeDel(int a, double b);
Ikkala usulda ham teng.
Do'stlaringiz bilan baham: |