Character[] PlayerOne = new Character[5];
PlayerOne[1] = new BladeWarrior();
PlayerOne[2] = new FistWarrior();
PlayerOne[3] = new Archer();
PlayerOne[4] = new RedMage();
PlayerOne[5] = new BlueMage();
我知道通过多态性,BladeWarrior可以成为一个Character,但反过来不行。我的问题是,当我尝试访问数组的一个元素时,例如Player[1],我无法访问BladeWarrior类的函数和变量。它只允许我访问从Character类继承的变量和函数。
如果我想让两个角色战斗,我需要能够访问Bladewarrior的函数/变量。
我考虑使用“as”函数将PlayerOne[1]设置为特定对象。不完全像这样:
string s = objArray[i] as string;
以上代码行仅用于明确我所说的“as”的含义。
这个问题有什么解决方案?
PlayerOne.OfType<BladeWarrior>().ToArray()
,以及其他类似的操作。 - nawfal