嗨,我是OOP的新手,需要帮助解决一些小问题。 我使用了一个名为Monsters的集合来存储3种类型的对象。蜘蛛,农民,咕噜(无关)。 我作为一个索引器集合,但当我用它来获取对象的集合时,该对象是无类型的,但我真的需要TypeCast我的下一个操作。获取混合类型集合中的对象
private void Form1_Load(object sender, EventArgs e)
{
CurrentOpponent Opponent = new CurrentOpponent();
Gollum myGollum = new Gollum();
AngryFarmer myFarmer = new AngryFarmer();
Ugly_Spider mySpider = new Ugly_Spider();
myMonsters.AddGollum(myGollum);
myMonsters.AddFarmer(myFarmer);
myMonsters.AddUgly(mySpider);
progressBar1.Increment(100);
progressBar2.Increment(100);
Monster myCurrentOpponent = Opponent.randomEncounter();
//textBox1.Text = (this is where i need the type for a cast)myCurrentOpponent.name
}
这里是我提取物
class CurrentOpponent
{
public Monster randomEncounter()
{
Random _random = new Random();
int opp = _random.Next(4);
return myMonsters[opp];
}
最后索引至极返回一个怪物(所有3个怪物种类的母公司)
public Monster this[int xxx]
{
get
{
return (Monster)List[xxx];
}
}
帮助将是真正的randomEncounter理解.. !! 在此先感谢
'class'和'public'前面的'$'是什么? – Ryan
我想我不得不把这个引用一个代码部分对不起 – phadaphunk