BLOGas.lt
Pigūs skrydžiai
Sukurk savo BLOGą Kitas atsitiktinis BLOGas

Mintys pasibaigus VORT-EX…

Parašė Sergejus | 2008-11-20 23:11

Kaip žinia, pirmadienį ir antradienį vyko pirmoji virtuali konferencija Centrinėje ir Rytų Europoje – VORT-EX. Pasižiūrėjus keletą pristatymų kilo tokios mintys:




  • Virtualių konferencijų pravedimo principas dar nėra iki galo išdirbtas;

  • Prasta garso kokybė ir galimybė įsiterpti į pristatymą trečioms šalims;

  • Ne itin geri pranešėjai;

  • Atmetus galimybę tiesiogiai užduotį klausimą – turinio kokybė žymiai geresnė PDC įrašuose.



Tikiuosi kitais metais organizatoriai pasimokys iš savo klaidų ir surengs tikrai vertą dėmesio renginį…

Rodyk draugams

Naujos C# 4.0 galimybės - 2 dalis

Parašė Sergejus | 2008-11-20 22:52

Pirmoje dalyje aš trumpai aprašiau C# 4.0 dinamines savybes ir naują raktažodį dynamic. Pirmą kartą pamačius šią galimybę, man, kaip ir daugeliui skaitytojų, kilo klausimas:  dinaminės kalbos nepalaiko IntelliSense, klaidas galime aptikti tik vykdymo metu ir turi nemažai kitų “neigiamų” savybių – kam viso šito reikia C#?


Trumpai pagalvojus pasirodo, kad kartais mes nors ir rašome statinį kodą, bet jis pagal prigimtį yra dinaminis: mes sužinome apie klaidas, objekto tipą ir jo meta informaciją tik vykdymo metu. Tai visada jautiesi programuojant COM objektus (geriausias pavyzdys Office InterOp), iš dalies XML. Paskutiniu metu paplitus Silverlight, vis daugiau žmonių kviečia JavaScript iš Silveright. Nu ir kaip minėjau, jau kurį laiką egzistuoja tokios dinaminės .NET kalbos kaip IronRuby ir IronPython.




Aš ilgai galvojau kokį pavyzdį pateikti ir apsistojau ties IronPython metodo kvietimo iš C#. Tarkime mes turime IronPython metodą Testing, kuris priima kaip argumentą kalbos pavadinimą ir grąžina pranešimą „Testuojame {kalbos pavadinimas} !“. Šį metodą mes aprašome faile IPyClass.py, o jo kodas atrodo taip:



Tam tikras suderinamumo lygis tarp IronPython ir C# egzistuoja jau dabar, todėl mes galime iškviesti metodą Testing ir gauti grąžinamą tekstą taip:



Pirmosios dvi eilutės yra standartinis DLR kodas – sukuriama vykdymo aplinka ir pakraunami išeities tekstai. Toliau mes aprašome delegatą, kuris ir bus atsakingas už metodo Testing iškvietimą bei rezultato apdorojimą. Kaip matyti, nors mes ir naudojame statinį C#, bet jeigu metodas Testing neegzistuoja arba jo signatūra yra ne tokia kaip nurodyta – klaidą gausime tik programos vykdymo metu. Su C# 4.0 tą patį kodą galima perrašyti taip:



Vietoje to, kad bandyti pritaikyti dinaminį metodą statinei kalbai, mes tiesiog kviečiame šį metodą.



Ką aš labiausiai noriu pabrėžti, C# 4.0 dinaminės galimybės turi būti naudojamos TIK ten, kur vyksta dinaminis darbas su objektais ar resursais. Visais kitais atvejais BŪTINAI naudokite tradicinį statinį C#!



Kitoje dalyje aš užbaigsiu šnekėti apie dinamines C# 4.0 savybes parodant, kaip pačiame C# galima aprašyti dinaminę klasę.

Rodyk draugams