1
下面是顯示我嘗試完成的代碼。子類需要基類中的屬性信息
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在列表視圖中列出了我的播放器對象。我希望有人能向我展示一個簡單/合乎邏輯的方式來做到這一點。
謝謝!不是我希望的答案,但它是有道理的。明天,我將嘗試製作一個事件,在堆棧更改時更新玩家的Chipleader屬性。 – Pizzaguru 2011-12-27 00:00:11