double SomeMethod2(int g, double n) { return g + n; } void SomeMethod3(double n, int g) { } void SomeMethod4(ref int g, double n) { } void SomeMethod5(out int g, double n) { g = 6; }
Bu yerda SomeMethod2 usuli delegat turidan farqli qaytish turiga ega. SomeMethod3 boshqa parametrlar to'plamiga ega. SomeMethod4 va SomeMethod5 parametrlari ham delegat parametrlaridan farq qiladi, chunki ular ref va out modifikatorlariga ega. Delegatga usullar qo'shish.Yuqoridagi misollarda delegat o'zgaruvchisi 1 usulga ishora qildi. Aslida, delegat bir xil imzo va qaytish turiga ega bo'lgan bir nechta usullarni ko'rsatishi mumkin. Delegatdagi barcha usullar maxsus ro'yxatga kiradi - chaqiruv ro'yxati yoki chaqiruv ro'yxati. Va delegat chaqirilganda, ushbu ro'yxatdagi barcha usullar ketma-ket chaqiriladi. Va biz bu ro'yxatga bir emas, balki bir nechta usullarni qo'shishimiz mumkin. += operatori delegatga usullar qo'shish uchun ishlatiladi :