我有这段代码:

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;
        }
    }
}

关于c# - 如何将一个变量绑定(bind)到另一个变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39926288/

10-08 21:35