Ignazio Catanzaro

Sviluppatore Software

C# .Net

Archivio Posts
Anno 2012

Anno 2011

Anno 2010
Sondaggio
Introdurre argomenti di software engineering in un blog può essere utile?

Si
No

Novità FW 4.0 - C#, Dynamic

Dynamic

Il Framework 4.0 introduce un nuovo tipo, il tipo Dynamic.

L'introduzione di questo tipo avvicina C# ai paradigmi della programmazione dinamica, migliorando sia la programmazione Office sia l'interoperabilità con oggetti dinamici scritti, per esempio in IronRuby, IronPython o JScript.

Tutto cio è possibile utilizzando la keyword Dynamic, vediamo un piccolo esempio :


E' importante comprendere che una variabile dinamica viene elaborata completamente a runtime è per questo che visual studio non permette l'utilizzo di intellisense, ne tantomeno il compilatore puo verificare se il codice scritto è pertinente o meno vediamo uno screenshot :


Molti di voi che non hanno mai sentito parlare di dynamic e/o dynamic lookup si staranno chiedendo a che serve quella keyword se la stessa operazione possiamo eseguirla utilizzando la keyword var? Vediamo le differenze con un'altro esempio :


Come potete notare, è possibile assegnare ad "a" qualsiasi valore di qualsiasi tipo ogni qual volta si vuole a differenza della variabile "b" che una volta inizializzata a 3, è del tutto tipizzata (intero).

I tipi dinamici si possono utilizzare non solo attraverso la dichiarazione di variabili, ma anche ad esempio come tipi o parametri di una funzione :


I Dynamic sono uno strumento potentissimo che è stato introdotto in C#,ricordo che in vb.net operazioni del genere sono possibili dichiarando variabili senza tipo e disabilitando Option strict, ma non ha solo pregi, infatti questo tipo di programmazione include due problematiche principali :

1) Il calo delle prestazioni : tutto le operazione legate i tipi dinamici vengono definiti a run-time con un pesante calo prestazionale da parte del programma;
2) Inesistenza di riferimenti da parte dell'ambiente di sviluppo : come dicevo prima visual studio non è in grado di creare un'elenco intellisense per i tipi dinamici.

Detto questo resta a voi liberare la fantasia e sviluppare dinamicamente (e ricordate, quando è necessario!!) i vostri progetti!

Spero al piu presto di inserire mini progetti riguardanti dynamic e interoperabilità con Office, python e correlati ;)

Stay Tuned! ;)





Categoria: Framework .Net
domenica, 18 apr 2010 Ore. 20.06

Calendario
aprile 2024
lmmgvsd
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345
Ora e Data
Statistiche
  • Views Home Page: 32.309
  • Views Posts: 44.968
  • Views Gallerie: 0
  • n° Posts: 24
  • n° Commenti: 12
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003