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.
bet4/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

Masalan:
using System;
namespace yangi_dastur
{
class program
{
delegate void mes();
static void Main()
{
mes a=Hello;
a+=HowAreYou;
a+=Hello;
a+=Hello;
a();
Console.ReadKey();
}
private static void Hello()
{
Console.WriteLine("Salom");
}
private static void HowAreYou()
{
Console.WriteLine("Qandaysiz?");
}
}
}
Dastur natijasi:

Xuddi shunday, delegatlardan metodlarni -= operatsiyasi yordamida olib tashlash mumkin.
Aslida delegatlardan metodlarni o’chirish jarayonida yangi delegat yaratiladi. Unda metod chaqiruvlari ro’yxatida bitta kamroq metod bo’ladi. Agar yo’q qilish paytida bir delegat bir xil metodga bir nechta o’zgaruvchilarni olgan bo'lsa, operatsiya -= qidirishni delegatlarning chaqiruvlar ro'yxati oxiridan boshlab va faqat birinchi topilganlarni o'chirib tashlaydi. Agar delegatlar chaqiruv ro'yxatida bunday metod mavjud bo'lmasa, - = operatsiyasi hech qanday ta'sir ko'rsatmaydi.
Masalan:
using System;
namespace ayirish
{
class program
{
delegate void mes();
static void Main()
{
mes a=Hello;
a-=WhatIsYourName;
a+=HowAreYou;
a();
Console.ReadKey();
}
private static void Hello()
{
Console.WriteLine("Salom");
}
private static void HowAreYou()
{
Console.WriteLine("Qandaysiz?");
}
private static void WhatIsYourName()
{
Console.WriteLine("Ismingiz nima?");
}
}
}
Dastur natijasi:

Bu dastur ishga tushganda 1-qadamda a o’zgaruvchi Hello metodidan qiymat qabul qiladi va ekranga natija chiqaradi. 2-qadamda WhatIsYourName metodining qiymati a o’zgaruvchida bo’lmagani uchun hech qanday o’zgarish sodir bo’lmaydi. 3-qadamda esa a o’zgaruvchi HowAreYou metodidan qiymat qabul qiladi va ekranga natijani chiqaradi.
Delegatni chaqirish metod chaqirish shaklida amalga oshiriladi. Delegatlar bilan ishlashda eng muhim jihat: delegat va metodlarda qaytish turi bir xil bo’lishi kerak. Misol sifatida TRANSFORMER deb nomlangan delegat turini ko’raylik.
delegate int Transformer (int x);
Transformer delegati har qanday metod bilan mos keladi, bu int tipiga ega va quyidagi kabi bitta int parametrni qabul qiladi:
static int Square (int x) { return x * x; }
Visual 2017 dasturida esa quyidagicha ko’rinishga ega:
static int Square (int x) => x * x;
Quyida bu delegat turiga to’liq misol keltirilgan:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
delegate int Transformer (int x) ;
class Test
{
static void Main()
{
Transformer t = Square; // yangi delegat yaratish
int result = t(3); // delegatni chaqirish
Console.WriteLine (result); //natija
Console.ReadKey();
}
static int Square (int x)
{
return x*x;
}
}
}

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