.net Passion


Alessio Pavan's Blog

VB 9.0 - Anonymous Type

I Tipi Anonimi, introdotti principalmente per essere utilizzati nelle Query Expression, sono dei tipi senza nome che si possiamo utilizzare come dei normali Oggetti.

Riprendendo l'esempio del Post precedente(VB 9.0 - Object Initializer), potremmo creare l'oggetto Veicolo in questo Modo :

Dim veicolo =  New With {.Marca = "FIAT", _

                         .Modello = "Punto"}

 

Non abbiamo dunque specificato il nome ed il tipo della variabile Veicolo, che VS determina per inferenza.

E' anche possibile eseguire dei confronti tra tipi Anonimi tramite il metodo Equals().

I confronti sono validi sono se vengono dichiarate delle Chiave Key per una o più proprietà. Infatti il confronto avviene esclusivamente tra le proprietà dichiarate come chiave e quindi ReadOnly

 

Dim veicolo =  New With {Key .Marca = "FIAT", _

                         .Modello = "Punto"}

Dim veicolo2 =  New With {Marca = "FIAT", _

                         .Modello = "Punto"}

Dim confronto = veicolo.equals(veicolo2)

Questo confronto avrà esisto negativo poichè la variabile Veicolo2 non ha nessuna chiave assegnata, mentre :

Dim veicolo =  New With {Key .Marca = "FIAT", _

                         .Modello = "Punto"}

Dim veicolo2 =  New With {Key  Marca = "FIAT", _

                         .Modello = "Punto"}

Dim confronto = veicolo.equals(veicolo2)

Questo confronto avrà esisto positivo.

La visibilità di questi tipi Anonimi è locale alla funzione in cui sono definiti. A mio parere i tipi anonimi vanno bene per LINQ, ma tipicamente dichiarate la tipologia dell'oggetto che istanziate.

Stay Tuned !!
Categoria: VISUAL BASIC
mercoledì, 21 mag 2008 Ore. 11.15
Ora e Data
Statistiche
  • Views Home Page: 36.701
  • Views Posts: 59.186
  • Views Gallerie: 3.965
  • n° Posts: 39
  • n° Commenti: 9
Mappa
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003