C# 如何将一个变量绑定到另一个变量

C# 如何将一个变量绑定到另一个变量,c#,C#,我有一段代码: Brick brick1= new Brick(parent.X - 1,parent.Y); X&Y是整数 基本上,我想做的是:当父块的x改变时,brick1的x也会改变,这与parent.x的值无关,brick1.x将始终等于parent.x-1 有没有办法做到这一点?假设Brick不是一个结构,您可以这样做。您也可以通过继承ChildBrick类来实现这一点,但除非您需要增加复杂性,至少在我看来,允许Brick拥有一个Brick的父级,并为父级添加一个构造函数更简单。然后

我有一段代码:

Brick brick1= new Brick(parent.X - 1,parent.Y);
X&Y是整数

基本上,我想做的是:当父块的x改变时,brick1的x也会改变,这与
parent.x
的值无关,
brick1.x
将始终等于
parent.x-1


有没有办法做到这一点?

假设
Brick
不是一个结构,您可以这样做。您也可以通过继承ChildBrick类来实现这一点,但除非您需要增加复杂性,至少在我看来,允许
Brick
拥有一个
Brick
的父级,并为父级添加一个构造函数更简单。然后,如果您检索到一个值,并且需要从父级计算该值,那么您只需检查是否有父级,并相应地进行计算

class Brick
{
    private Brick _parent;
    private int _x;
    private int _y;

    Brick(Brick parent) {_parent = parent);}
    Brick(int x, int y)
    {
        _x = x;
        _y=y;
    }

    public int X
    {
        get
        {
            if (_parent != null) return _parent.X - 1;
            return _x;
        }
    }
    public int Y
    {
        get
        {
            if (_parent != null) return _parent.Y;
            return _y;
        }
    }
}

只需使brick1成为具有计算只读属性的派生类

 public class childBrick: Brick
 {
     public new float X 
     {
         get { return base.X - 1.0 } 
         private set { base.X = value; }
     }
     public static Brick Make( float x, float y)
     {
         return new childBrick
         { 
            X = x;
            Y = y;
         }
     }
 }
像这样使用它

 Brick brick1 = childBrick.Make(parent.X - 1,parent.Y);

指针有什么帮助?在C#类中,引用类型的作用与指针非常相似。您需要的是对另一个brick的引用和动态计算
X
的getter。您需要让brick类知道其父类,添加父类型的字段。并更改构造函数,以便可以使用新的Brick(父级)。不确定OP需要的是继承。在他的代码中,parent似乎不是父类,而是与brick1具有父关系的同一类的对象,但是由于childBrick是一个Brick,它可以很好地完成他想要的