vesuvius said:
ktr said:
*snip*

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()