Мне интересно, как бы вы порекомендовали проектировать класс, учитывая тот факт, что XNA Framework повсеместно использует Struct?
Например, класс spite, для которого может потребоваться доступ к Vector2 и Rectangle (оба определены как Struct) вне класса.
Проблема возникает, когда вы пытаетесь написать такой код:
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;
Второй вариант компилируется и работает, но он просто ужасен. Есть ли лучший способ?