【发布时间】:2012-01-28 05:11:45
【问题描述】:
这是显示我尝试完成的代码。
public partial class Form1 : Form
{
public List<Player> Players { get; set; }
public Form1()
{
InitializeComponent();
Players = new List<Player>();
Players.Add(new Player() { ID = "Hero", Stack = 1000 });
Players.Add(new Player() { ID = "Villain", Stack = 500 });
MessageBox.Show(Players[0].Chipleader.ToString());
}
}
public class Player
{
public string ID { get; set; }
public int Stack { get; set; }
public bool Chipleader
{
get
{
// Dependent on the stacks of the other players
return Stack == Players.Max(S => S.Stack);
}
}
}
我希望每个 Player 对象都有一个属性“Chipleader”,如果该玩家拥有最大的筹码,则该属性表示 true。玩家对象需要其他玩家的属性(基类中的玩家列表)才能做到这一点。我需要这个属性在 Player 类中的原因是因为我使用ObjectListView 在列表视图中列出我的播放器对象。我希望有人可以向我展示一种简单/合乎逻辑的方法。
【问题讨论】:
标签: c# inheritance subclass base-class