ktr said:I obviously don't expect all of this, but it would be nice.
- Extension Properties
- Mixins
- Language support for tuple types:
public (int, string) GetSomeTuple() { /* ... */ }Perhaps this could even extend to tuples with named properties (much like anonymous types):public (int Age, string Name) GetSomeTuple() { /* .. */ }- Better language support for function types (unlimited args, named args)
- More type inference! this leads to my final request...
- Better support for anonymous types (shouldn't be limited to only a local scope):
public anonymous GetSomeObject() { return new { Feature = "Anonymous Types", Version = 2 } }
Still strongly typed, just a lot simpler.
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();