StrOp = new StrMod(RemoveSpaces); str = strOp



Download 7,92 Kb.
Sana16.01.2022
Hajmi7,92 Kb.
#377684
Bog'liq
Delegatlar, hodisalar va lyambda-ifodalar-hozir.org


xmlns:w="urn:schemas-microsoft-com:office:word"



xmlns="http://www.w3.org/TR/REC-html40">

Delegatlar, hodisalar va lyambda-ifodalar

Delegatlar, hodisalar va lyambda-ifodalar.

Orsatuvchi obyekt yaratiladi. Metod ushbu murojaat(sillka) orqali chaqiriladi.
  • Quyida delegatlarning umumiy yozilish shakli ketirilgan:
  • delegate qaytaruvchi_tip nom(parametrlar_ro delegate muraojat qilayotgan metoddan qaytgan tip qiymati, nom yxati sh joylarni defislarga almashtiring. Sosh joylarni olib tashlang. Keyin satrni teskarisiga chiqaring.

    • using System; // Delegat tipini esh joylarni defislarga almashtirish
    • static string ReplaceSpaces(string s) { Console.WriteLine("Bosh joylarni osh joylarni oBu oddiy test."); Console.WriteLine(Satr: " + str); Console.WriteLine(); strOp = new StrMod(Reverse); str = strOp(" Bu oddiy test."); Console.WriteLine(tiboringizni Main metodidagi balishi lozim. Bu yerda, StrMod delegatimiz oBu oddiy test.");
    • Bu kod yordamida esa, satri ReplaceSpaces metodiga yuborilmoqda.
    • strOp = new StrMod(RemoveSpaces); str = strOp(" Bu oddiy test.");
    • Bu holatda esa, delegat yordamida RemoveSpaces metodi ishga tushdi. strOp = new StrMod(Reverse); str = strOp(" Bu oddiy test.");
    • Bunda esa, Reverse metodi chaqirilmoqda.



    Demak, delegat yordamida chaqirilayotgan metod

    delegat bilan bir xil strukturaga ega boladilar va tadbirda qatnashadilar.
  • C # dagi voqealar shunga o'xshash kontseptsiyaga amal qiladi. Hodisada noshir, obunachi, xabar va hodisani ozi bilan ezgaruvchilar quyidagi tarzda ezidan foydalangan holda hodisa bozosiga xabar bersin.
    • public class PrintHelper {
    • // declare delegate
    • public delegate void BeforePrint();
    • //declare event of type
    • delegate public event BeforePrint beforePrintEvent;
    • public PrintHelper()
    • {
    • }

    public void PrintNumber(int num) {

    • public void PrintNumber(int num) {
    • //call delegate method before going to print
    • if (beforePrintEvent != null) beforePrintEvent();
    • Console.WriteLine("Number: {0,-12:N0}", num);
    • }
    • public void PrintDecimal(int dec) {
    • if (beforePrintEvent != null) beforePrintEvent();
    • Console.WriteLine("Decimal: {0:G}", dec);
    • }
    • public void PrintMoney(int money) {
    • if (beforePrintEvent != null) beforePrintEvent();
    • Console.WriteLine("Money: {0:C}", money);
    • }

    public void PrintTemperature(int num) {

    • public void PrintTemperature(int num) {
    • if (beforePrintEvent != null) beforePrintEvent(); Console.WriteLine("Temperature: {0,4:N1} F", num);
    • }
    • public void PrintHexadecimal(int dec) {
    • if (beforePrintEvent != null) beforePrintEvent();
    • Console.WriteLine("Hexadecimal: {0:X}", dec);
    • }
    • }

    Dastur tahlili:

    • PrintHelper beforePrint hodisasini nashr qiluvchi nashriyotchi klassdir. Shuni tazo bolishi mumkin, shuning uchun ham delegat chaqirilishdan oldin u nolga teng emasligi tekshiriladi.

    Lyambda ifodalar.

    • Lyambda ifodalarni tushunishdan oldin anonim metodlar bilan tanishib olishingiz lozim boliq tanishib chiqamiz.

    http://hozir.org

    Download 7,92 Kb.

    Do'stlaringiz bilan baham:




    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