Insoniyat tarixining ko‘p asrlik tajribasi ezgu g‘oyalardan va sog‘lom mafkuradan mahrum biron-bir jamiyatning uzoqqa bora olmasligini ko‘rsatdi



Download 1,23 Mb.
bet6/13
Sana12.04.2022
Hajmi1,23 Mb.
#546571
1   2   3   4   5   6   7   8   9   ...   13
Bog'liq
Alijonov Toxirjon Muxammadyusuf o’g’li

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
public delegate int Transformer (int x); 
class Until 
{
public static void Transform (int[] values, Transformer a)
{
for (int i = 0; i < values.Length; i++) 
values[i] =a (values [i]) ;
}
}
class Test 
{
static void Main()
{
int[] values = { 1, 2, 3 };
Until.Transform (values, Add); 
foreach (int i in values)
Console.Write (i + " ");
Console.ReadKey();
}
static int Add (int x) 
{
return x + x;
}
}
}
Dastur natijasi:



Delegatlar sinfinining xususiyatlari va metodlari.

Metod nomi

Vazifasi

Method

Delegatlarda belgilangan metod nomini qaytaradi.

Target

Delegat statik bo'lmagan sinf metodiga ishora qilsa, sinf nomini qaytaradi. Agar delegat statik metodga ishora qilsa, nol qiymatni qaytaradi.

Combine();
+() operatori;
+= () operatori;
-() operatori;
-=() operatori

Combine() - bu funksiya. Berilgan operator funksiyalari bilan ishlash delegatlarni qo’shish va olib tashlash kabi ko’rinadi. Ular arifmetik delegatlar hisoblanadi.

GetInvocationList()

Funksiya murojaatlarining ichki ro'yxatiga asoslanib, funksiya tipiga mos keladigan massiv yaratadi. Bu metodni bo’sh delegatlarga qo’llash xatolik keltirib chiqaradi.

object DynamicInvoke
(object[] args)

Delegatlar uchun tuzilgan bog’lanishlar ro’yxatiga ko’ra funksiyalarning bajarilishini ta’minlaydi.

static Remove()

Bu statik metod bo’lib, funksiya murojaatlarining ichki ro'yxati elementlarini o’chirishni ta’minlaydi.



2.3 Guruh delegatlari


Barcha delegatlikka oid misollarda guruhga murojaat qilish mavjud. Bu delegatlik namunasi nafaqat bitta maqsadli metodga, balki maqsadli metodlar ro'yxatiga ham murojaat qilishi mumkinligini anglatadi.
Delegatlar misollari + = operatsiyasi yordamida birlashtiriladi.
Masalan:
SomeDelegate d = SomeMethodl; d += SomeMethod2;
Oxirgi qator funksional ravishda quyidagi satrga mos keladi:
d = d + SomeMethod2;
Endi d ga murojaat qilish SomeMethod1 va SomeMethod2 metodlarini chaqiradi.
- va - = operatsiyalari delegatning chap operandidan o'ng operandasini olib tashlaydi.
d -= SomeMethod1;
Nol qiymati bo'lgan delegatlik o'zgaruvchisiga + = operatsiyasini qo'llash haqiqiy va bu o'zgaruvchiga yangi qiymat tayinlashga tengdir:
SomeDelegate d = null;
d += SomeMethod1;
Xuddi shunday, bitta maqsadli metod bilan delegatlik o'zgaruvchisiga - = amalini qo'llash bu o'zgaruvchini null ga tenglashtirishga tengdir.
Delegatlar o'zgarmasdir, shuning uchun + = yoki - = amallaridan foydalanish dasturdagi o'zgaruvchiga tayinlangan yangi delegat namunasini yaratadi. Agar guruh delegati void dan boshqa qaytish tipiga ega bo'lsa, u holda chaqirilayotgan komponent chaqirilayotgan oxirgi metoddan qaytish qiymatini oladi. Oldingi metodlar hali ham chaqiriladi, ammo ularning qaytarilish qiymati bekor qilinadi.
Ko'pgina holatlarda guruh delegatlari void qaytish tiplariga ega, shuning uchun bunday xatoliklar yuzaga kelmaydi. Barcha delegatlik turlari System.Delegate dan meros bo'lgan System.MulticastDelegate sinfidan olingan.

Download 1,23 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   13




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish