我有一个超级简单的类点:
class Point
{
public Point(double x, double y)
{
X = x;
Y = y;
}
public double X;
public double Y;
}
我在框类中使用点:
internal class Box
{
private Point _upperLHCorner = new Point();
private Point _lowerRHCorner = new Point();
internal Box() { }
public Point UpperLHCorner
{
get
{
return _upperLHCorner;
}
set
{
this._upperLHCorner = value;
_lowerRHCorner.X = _upperLHCorner.X + _width;
_lowerRHCorner.Y = _upperLHCorner.Y + _height;
}
}
public Point LowerRHCorner
{
get
{
return _lowerRHCorner;
}
}
}
当我在代码中设置upperlhcorner.x时,未调用upperlhcorner的设置器。而是称为getter。我需要在适当的时候更改下rhcorner备份变量x和y。我该怎么做?
您无法使用UpperLHCorner
的设置器来修改_lowerRHCorner
的属性。唯一的时间设置器是将新值分配给UpperLHCorner
本身。为了实现您需要做的事情,您必须使用带有X
和Y
参数的SetUpperLHCorner
之类的方法。在该方法中,您可以调整_lowerRHCorner
属性。
当然,如果您真的愿意,可以在X
和Y
点的属性上添加事件处理程序。但这将是...