Say i have a property in a class:
Vector3 position{get; set;}
So i create an instance of that class somewhere and now i want to change position.x, that would be impossible now because the getter and setter set and get the whole object. So i have to make a temporary Vector3 change its values and then assign it.
Normally i would make position a public field so that problem would be solved. But i cant do it in this case because position is an implementation of an interface and interfaces cant have fields.
So how can i solve this the best way.
Edit: Vector3 is a struct so its a value type