Novità per VB.NET
In Visual Studio 2010 sono presenti alcune novità anche dal punto di vista dei linguaggi di programmazione. Analizziamo prima quelle relative a VB:
Proprietà auto-implementanti– In C# la dichiarazione di una proprietà pubblica si effettua nel modo seguente:
public string ColoreAuto
{
get
{ return valoreColore;}
set
{valoreColore = value;}
}
il codice corrispondente in VB sarebbe:
Public Property ColoreAuto As String
Get
Return _coloreAuto
End Get
Set(ByVal value As String)
_coloreAuto = value
End Set
End Property
Nelle precedenti versioni di Visual Studio era già presente, in C#, la possibilità di creare una proprietà in cui la variabile privata viene dichiarata e gestita internamente dall’ambiente di sviluppo:
public string ColoreAuto
{
get; set;
}
Questa possibilità, non disponibile per VB.NET fino alla versione 3.5 del framework, è presente nel nuovo Visual Studio 2010 e permette di effettuare la dichiarazione nel modo seguente:
Public Property ColoreAuto As StringInizializzatori delle collection – A differenza delle versioni precedenti del framework, la sintassi per inizializzare le collection in VB.NET permette di non specificare il tipo della collection, che viene individuato automaticamente:
Dim nome_variabile = {New MiaClasse With {.Campo1 = 10,.Campo2 = "Test"},
New MiaClasse With {.Campo1 = 20, .Campo2 = "Test2"}}
Con il .NET Framework precedente questo codice avrebbe dato un errore in fase di compilazione perché "breakfast" sarebbe stata considerata di tipo Object anziché MiaClasse.
Continuazione implicita della riga di codice – In C# esiste già da tempo la possibilità di suddividere lunghe righe di codice su più righe per una maggiore leggibilità. Anche VB.NET presentava questa possibilità, ma era necessario aggiungere un carattere underscore ( _ ) alla fine di ogni riga. Con il .NET Framework 4 questa piccola, ma scomoda, necessità è stata eliminata ed è possibile scrivere ad esempio:
Console.WriteLine(
ColoreAuto)
Modifiche alle Lambda Expression – Fino alla versione precedente del framework la lambda expression dovevano ritornare un valore indipendentemente dal fatto che fosse richiesto o meno. Questa diversità di comportamento poteva generare confusione passando da C# (dove non esiste questo vincolo) a VB.NET. La nuova versione del framework risolve questo problema consentendo a VB.NET di creare lambda expression che non ritornano valori. Ad esempio:
Dim lambdaExpression = Sub() Nothing
| Corso Web Design Disegno di siti Web con HTML, CSS e Dynamic HTML. A partire da 39 €. |