Steven Schveighoffer Wrote: > On Wed, 29 Jul 2009 14:59:38 -0400, Dimitar Kolev > <[email protected]> wrote: > > > Steven Schveighoffer Wrote: > > > >> I don't see what advantages this has over other proposals. What is > >> wrong > >> with a.a such that we have to resort to a#a? > >> > >> -Steve > >> > > > > People are crying over compilers not know which is a property and which > > is not. > > At definition time, not usage time. I want the usage to be identical to > fields, otherwise, it's not as seamless. This makes an important > difference for generic code.
What if the compiler just expanding this to well inlining. So a#a = 3 would just means a.a = 3 just that the compiler will have easier time understanding this. And a#b#c would just expand to a.b.c it is just that you can without any doubt see in the code that a#b#c is actually a property not a function. The expansion can come before the generic code. Not to mention that then there will be no confusion what writefl = 3 is. A function called without the parentheses and you won't have to track what that is in the definition of the class.
