Mavzu: C# dasturlash tilida Dynamic Language Runtime
Reja:
Kirish.
Asosiy qism.
1 §. C# da DLR. Dinamic kalit so’zi.
2 §. DynamicObject va Expandoobject
3 §. .NET da IronPython dan Foydalanish
Hulosa.
Foydalanilgan adabiyotlar ro’yhati.
Ilovalar .
Manba:https://metanit.com/sharp/tutorial/9.1.php
Kirish
Hozirgi kunda dasturlashni o'rganishni istagan odamlarda birgina savol bor – "qaysi dasturlash tilidan ko'proq foyda ko'raman". Aslini olganda hozirda aktual bo'lgan dasturlash tillari u qadar ko'p emas, lekin sizga foyda keltiradiganini o'rganish va o'zingiz qiziqmaganingizga ham vaqt ham pul sarflamaslik uchun to'g'ri qaror qabul qilish kerak. Quyida bir qator dasturlash tillari va yo'nalishlari keltirilgan: Dasturlash tillari: -C/C++ dasturlash tili…
"dinamik ma'lumotlar"ning mohiyati aniq bo'ldi, keling, uning qanday qayta ishlanishini o'rganamiz. .NET 4.0 da Common Language Runtime (CLR) Dynamic Language Runtime (DLR) deb nomlangan qo'shimcha ish vaqtini oldi. "Dinamik ish vaqti" tushunchasi, albatta, yangi emas. Aslida, Smalltalk, LISP, Ruby va Python kabi dasturlash tillari undan ko'p yillar davomida foydalanib keladi. Asosan, dinamik ish vaqti dinamik tillarga kompilyatsiya vaqtini tekshirmasdan ishlash vaqtida turlarini to'liq aniqlash imkoniyatini beradi.
Agar siz qattiq terilgan tillar (shu jumladan, dinamik turlarsiz C#) bilan tajribangiz bo'lsa, bunday ish vaqti tushunchasi nomaqbul bo'lib tuyulishi mumkin. Axir, odatda xatolarni iloji boricha ishga tushirish vaqtida emas, balki kompilyatsiya vaqtida olish yaxshiroqdir. Biroq, dinamik tillar va ish vaqtlari bir qator qiziqarli xususiyatlarni taklif qiladi, jumladan:
Juda moslashuvchan kod bazasi. Ma'lumotlar turlariga bir nechta o'zgartirishlar kiritmasdan kodni o'zgartirishingiz mumkin.
Turli platformalar va dasturlash tillarida qurilgan turli xil ob'ektlar turlari bilan o'zaro ishlashning juda oddiy usuli.
Ishlash vaqtida xotiraga turdagi a'zolarni qo'shish yoki o'chirish usuli.
DLR ning roli turli dinamik tillarga .NET ish vaqti bilan ishlashga ruxsat berish va boshqa .NET kodlari bilan o'zaro aloqada bo'lish imkonini berishdir. DLR-dan foydalanadigan ikkita mashhur dinamik tillar - IronPython va IronRuby. Bu tillar "dinamik olamda" yashaydi, unda turlar faqat ish vaqtida aniqlanadi. Bundan tashqari, ushbu tillar .NET tayanch sinf kutubxonalarining boyligiga kirish huquqiga ega. Yaxshisi, ularning kod bazasi dinamik kalit so'zni kiritish tufayli C# (va aksincha) bilan o'zaro ishlashi mumkin.
.NET platformasi yaratilganidan beri holat satrlarini (System.Windows.Forms.StatusBar turi orqali) qo'llab-quvvatlash taklif qilingan bo'lsa-da, .NET 2.0 oddiy StatusBar elementi o'rniga yangi StatusStrip turini taqdim etadi. Oddiy holat satri singari, StatusStrip ham ToolStripStatus turi tomonidan taqdim etilgan matn/grafik ma'lumotlarni o'z ichiga olgan istalgan sonli panellardan iborat bo'lishi mumkin. Biroq, StatusStrip qo'shimcha elementlarni o'z ichiga olishi mumkin, masalan, quyidagilar.
Do'stlaringiz bilan baham: |