I'm wondering how you'd recommend designing a class, given the fact that XNA Framework uses Struct all over the place?
For example, a spite class, which may require a Vector2 and a Rectangle (both defined as Struct) to be accessed outside of the class.
The issue come in when you try to write code like this:
class Item
{
public Vector2 Position {get; set;}
public Item() { Position = new Vector2(5,5); }
}
Item i = new Item();
i.Positon.X = 20; // fails with error 'Cannot modify the return value of Item because it is not a variable.'
// you must write code like this
var pos = i.Position;
pos.X++;
i.Position = pos;
The second option compiles and works, but it is just butt ugly. Is there a better way?