我想讓我的Player對象繼承錦標賽中的籌碼總和。我得到(試圖除以零),我認爲這是因爲它無法從父錦標賽對象繼承芯片。爲什麼這不起作用?C#繼承父類的屬性
public partial class Form1 : Form
{
public Tournament Tournament { get; set; }
public Form1()
{
InitializeComponent();
Tournament = new Tournament();
Tournament.PlayerList.Add(new Player("Hero", 5000));
Tournament.PlayerList.Add(new Player("Villain1", 3000));
Tournament.PlayerList.Add(new Player("Villain2", 4000));
MessageBox.Show(Tournament.PlayerList[0].StackPercentage.ToString());
}
}
public class Tournament
{
public List<Player> PlayerList { get; set; }
public int Chips
{
get
{
return PlayerList.Sum(S => S.Stack);
}
}
public Tournament()
{
PlayerList = new List<Player>();
}
}
public class Player : Tournament
{
public string ID { get; set; }
public int Stack { get; set; }
public double StackPercentage
{
get
{
return Stack/Chips;
}
}
public Player(string _ID, int _Stack)
{
ID = _ID;
Stack = _Stack;
}
}
爲什麼你認爲'Player'不繼承從''Tournament' Chips'?我相信它的確如此。 – Oded 2011-12-26 14:26:29
我不相信這個代碼可以編譯 - 你有一個與這裏類型相同的變量'public Tournament Tournament {get;組; }' – Hogan 2011-12-26 14:28:15
僅僅因爲某些東西被繼承了,並不能使它成爲全局/靜態的。 – Hogan 2011-12-26 14:29:34