Properties: a.b.c = 3
Daniel Keep
daniel.keep.lists at gmail.com
Tue Jul 28 20:39:50 PDT 2009
Walter Bright wrote:
> The issue is what if b is a property, returns a temporary object, and
> that temp's .c field is uselessly set to 3?
>
> It's a classic problem with properties that are implemented as functions.
>
> I don't see how C#'s special property syntax adds any value for dealing
> with this.
>
> One thought I had was to simply disallow the '.' to appear after a
> function style property.
Maybe the compiler could rewrite the above as:
auto t = a.b;
t.c = 3;
a.b = t;
Unless it can prove it doesn't need to. Same solution as to the op=
conundrum.
More information about the Digitalmars-d
mailing list