This is a follow-up of a chat with @CyrusNajmabadi in Roslyn's Gitter. I was after an API to distinguishing the between the binding of a property's set or get underlying method, while I learned about this case.
class A { ref int Prop { get { ... } } }
...
a.Prop = 5
I suppose this makes the language spec inaccurate according to the statement below:
Except as the target of an assignment, when a property is referenced in an expression, the get accessor of the property is invoked to compute the value of the property
If this assumption is correct, please consider updating the spec with the detailed rules.