I would add to dbemerlin the answer that the key here is Rico, that the properties are not “lvalues”, or, as we call them in C #, “variables”.
(, , : , ), . - , . vector,
Foo.vector.x = 123;
- Foo.vector - x. :
Foo.vector.x = 123;
.
Vector v = Foo.Vector;
v.x = 123;
v, , .
, . x, :
Foo.Vector = new Vector(x, Foo.Vector.y);