我想知道是否有内置或易于实现的方法来处理这个“无法修改返回值,因为它不是变量”问题。
假设我有这个课程:
MyClass
{
Rectangle _rect = new Rectangle(1, 2, 3, 4);
public Rectangle rect { get { return _rect; } set { _rect = value; } }
}
这就是我想要做的:
rect.Width += 20; // and this is where the error pops up
通常的方法是这样做:
rect = new Rectangle(rect.X, rect.Y, rect.Width + 20, rect.Height);
但是必须有一种方法来自动化它,对吗?而且我并不是说只是添加一堆属性来MyClass
喜欢rect_width
等(因为我在真实的类实现中有 9 个矩形,那会很糟糕),而是可以使这行代码工作的东西:
rect.Width += 20;