如何将两个类的两个属性绑定在一起
本文关键字:两个 属性 绑定 在一起 | 更新日期: 2023-09-27 18:10:22
如何定义镜像属性来分离具有相等值的类?我有一个这样的类:
public abstract class Car
{
public Point3D Location { get; set; }
}
另一个类是这样的:
class Motion
{
public Point3D Location {get; set;}
public Motion(Point3D location)
{
Location = location;
}
}
I want to Motion。位置更新时,汽车。位置改变。直到Car。位置不能更新
car1.Location=new Point3D();
之后,这两个属性分开了。我怎么做才能保证运动。Location值与Car相同。位置值。
您真正能做的就是在对象级别声明一个事件,以便在属性更改时得到通知。但是你必须为Location
添加一个后端属性,这样你才能触发一个事件。
public abstract class Car
{
private Point3D _loc;
public event System.EventHandler LocationChanged;
public Point3D Location
{
get{
return _loc;
}
set; {
_loc = value;
if ( LocationChanged != null )
{
LocationChanged( this, new EventArgs() );
}
}
}
}
类没有值。类的实例具有值。这里你没有创建Car或Motion的实例所以没有什么要绑定的。如果有实例,则可以有car的setter。Location更新运动实例的位置值(尽管从代码中不清楚该实例来自何处)