对于某些情况下 - 这是前面问题的扩展。创建列表<genericBaseClass <T>>来自各种列表<derivedClass <T>>
override List<baseClass> with List<derivedClass>
反正
我有一个通用的基础类 “场景”
public class Scene<T> where T: SceneModel { }
我也有两班从这个继承:
public class WorldScene : Scene<WorldModel> { }
public class BattleScene : Scene<BattleModel> { }
现在什么我需要做的是有一个List<Scene<SceneModel>>
其中包含一个mi WorldScene和BattleScene的结构。在我需要列表的地方,我显然只需要使用WorldScene和BattleScene共有的属性/方法。
我得到他们是两个截然不同的对象 - 但鉴于他们继承了同样的事情 - 我希望有一些聪明的方式将它们按这种方式分组,而无需手动将它们转换为某种第三种类型。
我编辑了自己的冠军。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 –
你不能只是创建battlescene和worlscene的父类的列表。父母将包含常用方法。由于battelscene和worldscene都是它们的父类,因此可以将它们存储在列表中并调用常用方法。 –