Lionello Lunesu wrote:
"Ary Borenszweig" <[email protected]> wrote in message
news:[email protected]...
Walter Bright escribió:
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 only if the return value of the property is a struct? For class
references it'll work well (except your property returns a new object
each time, which is kind of a weird way to implement a property).
What if structure B has get/set c and B.c(int) does something non-local?
Then the function call ("property assignment") should be allowed.
L.
No, you should tell the author of struct B to revise the design :p