It’s an interesting possibility to add new (a, b, c)
alongside new { ... }
. Btw new { ... }
is currently implemented but undocumented, so it might also go away. But there are also downsides.
- It’s genuinely new syntax, and it would take getting used to. By contrast
new { ... }
repurposes an existing syntax for structural types with better typing where otherwise you would have got a type error. - In the presence of creator applications, it offers a difficult choice: Do you write
C(...)
ornew (...)
? I’d argue thatC(...)
should be preferable since it has more information and is more regular wrt to classes withapply
methods. But others might choosenew(...)
, in particular if the class nameC
is long. So, this would introduce the sort of fruitless tradeoffs that one should avoid in language design. By contrast fornew {...}
there is no competing alternative syntax.
And abaout the new[C]
syntax: I believe that boat has sailed.