作者Killercat (杀人猫™)
看板C_Sharp
标题[问题] Collection内容的转型问题
时间Sat Oct 10 23:36:47 2009
请问一下,我设计碰到一个比较麻烦的问题
可能有点新手,不过以往比较没碰过
class CharacterCard : Card
{
...
...
...
}
class DistrictCard : Card
{
...
...
...
}
也就是他们两个有共通的父类别
现在他们两个各有一个List
List<CharacterCard> theCharCards = new List<CharacterCard>();
List<DistrictCard> theDistCards = new List<DistrictCard>();
然後我希望能用一个List<Card>指向他们两个
List<Card> theCards;
当然这转不过去(所以我就上来问问各位有经验的人了)
theCards = theCharCards; //error
theCards = theDistCards; //error
theCards = (List<CharCards>)theCharCards; //一样error
因为某些因素,无法写成
List<Cards> theCharCards = new List<CharacterCard>();//这稳死的 应该不用try了
或者
List<Cards> theCharCards = new List<Cards>(); //里面塞CharacterCards
请问有没有什麽方法可以直转?还是得重新设计系统让他们全部用List<Card>装?
先谢谢各位
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.43.114.66
※ 编辑: Killercat 来自: 114.43.114.66 (10/10 23:38)
1F:→ a761007:interface 10/11 00:15
2F:推 liunate:看看LINQ中的CastTo<T>(或类似的)是否对你有帮助? 10/11 00:33
3F:→ Killercat:一楼这个我想一下怎麽做,谢谢 @@ 二楼,我没用过linq 10/11 02:32
4F:→ Killercat:我看一下怎麽用,感谢 10/11 02:32