使用属性将数组链接到另一个数组

时间:2014-03-19 17:57:05

标签: c# arrays properties

现在我有这样的事情:

int num1 = 1;
int num2 = 1;

public int Num1
{
    get { return num1; }
    set 
    {
        if(num1 != value)
        {
            num1 = value;
            num2 = value;
            // other stuf
        }
    }
}

这种情况发生在我有一些积分的游戏中,当积分发生变化时我想要另一个数字改变。但我的问题是这种配对的数量取决于球员的数量。我可以做这样的事情,其中​​num1和num2是长度等于玩家数量的数组吗?我想要发生的是当num1 [i]改变时,num2 [i]也会改变。在类似的问题上,有些人说不应该将属性和数组合并在一起。如果这是真的,我怎么能做到这样的事情?

修改

对不起,我认为我应该简化这个问题,实际发生的是:

我正在使用MVCVM架构,我有一个类似这样的NumberViewModel类:

class NumberViewModel
{
    public NumberView view = null;
    int number = 0;
    public int Number
    {
        get { return number; }
        set
        {
            if(number != value)
            {
                number = value;
                view.ChangeNumber(number);
            }
        } 
    }
}

NumberView类所做的是将屏幕上的数字更改为NumberViewModel类中指定的数字,因此当Number更改时,屏幕上的数字也会更改

然后我有一个看起来像这样的PlayerScoreManagerViewModel:

PlayerScoreManagerViewModel
{
    int player1Score = 0;
    NumberViewModel player1NumberViewModel;

    public int Player1Score
    {
        get { return player1Score; }
        set
        {
            if(player1Score != value)
            {
                player1Score = value;
                player1NumberViewMode.Number = player1Score;
            }
        }
    }
}

因此,当Player1Score更改时,NumberViewModel中的值会更改,这会强制NumberView更改屏幕上的分数。我在很多地方使用NumberViewModel和NumberView,所以我把它变成了通用的。

0 个答案:

没有答案