Reply to Walter,
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.
seems related to this: http://d.puremagic.com/issues/show_bug.cgi?id=3008
