我想让我的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