Visual Basic 10: new!

Door Rhapsody op zaterdag 6 juni 2009 20:45 - Reacties (6)
Categorie: .NET, Views: 4.533

Op het werk pruts ik met Visual Basic. De komende versie bevat weer een aantal 'verbeteringen'.

Implicit Line Continuation
Oftewel, je hoeft geen _ meer te typen om door te gaan op een nieuwe regel.
Handig, maar ik vraag me wel een beetje af of dit niet ten koste gaat van de leesbaarheid van de code. Wellicht valt dat mee omdat je dat ook kunt zien aan de indents, maar toch.


Auto-implemented Properties
Het is niet meer nodig om de complete get/set property uit te schrijven.
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
Private _FirstName As String

Property FirstName() As String
   Get
      Return _FirstName
   End Get
   Set(ByVal value As String)
      _FirstName = value
    End Set
End Property


Hoeft dus niet meer. Onderstaande is voldoende.
Visual Basic .NET:
1
Property FirstName as String

Persoonlijk is dit wel handig. Scheelt weer wat typwerk.


Array Literals
Stukje code uit het document wat ik tegen kwam op CodePlex. (zie onderaan deze post)
Visual Basic .NET:
1
2
3
4
5
6
7
8
Dim a = {1, 2, 3} 'infers Integer()
Dim b = {1, 2, 3.5} 'infers Double()
Dim c = {"1", "2", "3"} 'infers String()
Dim d = {1, "123"} 'infers Object() (warning with Option Strict On)

Nested array literals can be used to produce multidimensional arrays:
Dim e = {{1, 2, 3}, {4, 5, 6}} 'infers Integer(,)
Dim f = {({1, 2, 3}), ({4, 5, 6})} 'infers Integer()() (jagged array)

Bovenstaande code ziet er toch erg foutgevoelig uit. Allemaal leuk en aardig dat de compiler slim dingen detecteert, maar dit is volgens mij vragen om problemen. Wat mij betreft dus geen 'verbetering'.

Lambdas
Hier kan ik helaas niet zoveel over zeggen. Ik gebruik het niet en zie er eerlijk gezegd ook het nut niet van in. Wellicht dat iemand mij dit kan verduidelijken?
Zelf vind ik het warrig om functies in functies te plaatsen.

Hier kun je een document vinden met uitgebreide uitleg over de verbeteringen.

En nu lekker kijken naar het Nederlands elftal.

Volgende: Wâldrock 06-'09 Wâldrock
Volgende: .NET 4.0 met Windows 7 06-'09 .NET 4.0 met Windows 7

Reacties


Door Tweakers user Nordlys, zaterdag 6 juni 2009 20:48

Geef mij maar C#.NET... :)

Door Tweakers user Dred, zaterdag 6 juni 2009 20:49

lambdas is voor bv LINQ wel leuk, werk er ook niet echt mee, maar soms wel es handig

Door Tweakers user GrooV, zaterdag 6 juni 2009 20:57

Lamda's, ik kan niet meer zonder ;)

Door Tweakers user Sebazzz, zaterdag 6 juni 2009 21:00

@jvdgeest: Geef mij ook maar een C-stijl taal ja. Ik vind Visual Basic zo onoverzichtelijk! :o

Door Tweakers user Rhapsody, zaterdag 6 juni 2009 21:05

Ik had niet echt de keuze (of ik moest elders gaan werken) maar Visual Basic is enkel een andere syntax. Dus het enige verschil is de syntax. Wat C# betreft ben ik het wel met je eens; het is wat schoner, maar goed.

@GrooV; leg eens uit, waarom kan je niet meer zonder?
Helaas kan ik ook nog geen LINQ gebruiken. Ik heb er wel wat mee gespeeld thuis, maar ik werk nog met .NET 2.0. Dat is af en toe wel lastig, want als er iets nieuws is, moet ik het gewoon hebben. :P

Door Tweakers user boe2, dinsdag 9 juni 2009 16:48

Over die Auto-implemented Properties: Zoals ik het zie is dit gewoon gelijk aan het declareren van een publieke variabele, zonder de voordelen die getters/setters je bieden?

Reageren is niet meer mogelijk