Atkārtošanai pieminēšu, ka līdz ar jaunās platformas (.NET 4.0) izstrādātājiem būs pieejama interesanta iespēja statiski deklarēt mainīgo par dinamisku un tā vērtību noteikt tikai izpildes režīmā.
Izklausās diezgan aizraujoši un interesanti, bet kopsummā ar jauno dynamic atslēgas vārdu jābūt brīžiem arī uzmanīgiem.
Piemēram, šāds koda fragments ved uz domām, ka šāda veida konstrukcijas taču acīmredzami nav pieļaujamas:
static int Foo(string s) { return 0; }
static void Main()
{
dynamic x = "this is a stirng";
DateTime d = Foo(x);
}
Beigās iegūstam sekojošu kļūdas situāciju:
No vienas puses šāda veida konstrukcija ir acīmredzami nepieļaujama, bet dymanic atslēgvārds reglamentē to, ka kompilācijas laikā visas tipu pārbaudes ir atslēgtas. Tā kā, ar dymanic ir jābūt uzmanīgiem. Kompilācijas izstrādes komanda plāno izveidot vismaz brīdinājuma ziņojumus par šādām situācijām līdz RTM versijai.
Cerams, ka noderēs!