vesuvius said:
ktr said:

It seems a lot of what you desire is in F#, why don't you use that instead? The type inference in the language is sublime.


let x = y 
let apples = oranges 


I now use the var keyword in C# like its running out of fashion. In visual basic you have


Dim anInt as Integer 


which is far more elegant than


MyClass myClass = new MyClass();

Visual Basic 9 also has type inference.


In C# you can do:

var x = 42;


And in VB you can do:

Dim x = 42


In both cases the type is inferred to be an integer. However, VB will only do that if Option Infer is turned on (which I think is the default for new projects in VS2008); if Option Infer is off, it uses the old behaviour in which case x will be a late-bound Object in the above example.


It also has the strange effect that in VB, the following three lines are now identical in meaning (with Option Infer On):

Dim foo As New MyClass()
Dim bar = New MyClass()
Dim baz As MyClass = New MyClass()