现在我有这样的事情:
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,所以我把它变成了通用的。