Questa è una novità che tutti gli sviluppatori VB.NET sicuramente accoglieranno con grande entusiasmo. àˆ noto che in VB.NET a differenza di C# è necessario specificare esplicitamente l'intenzione di suddividere una stessa istruzione su più righe di codice utilizzando la sequenza di caratteri: spazio, underscore, invio. Prendiamo il seguente esempio:
Public Function GetCustomer(ByVal custID As Integer, _ ByVal name As String, _ ByVal city As String) As String .... End Function
Come possiamo vedere, e come ben sanno tutti gli sviluppatori VB, per spostarsi su una nuova riga all'interno di una istruzione VB è necessario indicare l'azione esplicitamente con il carattere underscore. Ora invece in .NET 4.0 grazie alla Implicit Line Continuation possiamo anche in VB andare a capo come in C#, ovvero senza specificare esplicitamente l'azione:
Public Function GetCustomer(ByVal custID As Integer, ByVal name As String, ByVal city As String) As String .... End Function
C'è da segnalare però che questo non è sempre possibile in quanto VB riesce a capire implicitamente quando più righe fanno parte della stessa istruzione solo in presenza di un elenco predeterminato di token e parole chiave. I token che non richiedono l'underscore prima di essere utilizzati, sono:
- * ), }, , (virgola), ]
- Linq: Aggregate, Distinct, From, Group By, Group Join, Join, Let, Order By, Select, Skip, Skip While, Take, Take, While, Where, In, Into, On, Ascending, Descending
Mentre i token che possono seguire sulla riga successiva senza richiedere l'underscore sulla riga precedente sono:
- , (virgola), . (punto), > (attributo), ( { (parentesi aperta)
- Linq: Aggregate, Distinct, From, Group By, Group Join, Join, Let, Order By, Select, Skip, Skip While, Take, Take, While, Where, In, Into, On, Ascending, Descending
- + , - , * , / , \ , ^ , >> , >= , , >= , , Is, IsNot, Like, And, Or, Xor, AndAlso, OrElse
- With
Questa in effetti non è una vera e propria nuova funzionalità in quanto non aggiunge nulla al linguaggio VB ma certamente è un passo avanti che tutti gli sviluppatori VB.NET apprezzeranno molto.