在某些情况下-这是对先前问题的扩展。
用 List<derivedClass> 覆盖 List<baseClass>
反正,
我有一个通用基类“场景”
public class Scene<T> where T: SceneModel { }
我还有两个继承自这个的类:
public class WorldScene : Scene<WorldModel> { }
public class BattleScene : Scene<BattleModel> { }
现在我需要做的是拥有一个List<Scene<SceneModel>>
包含 WorldScene 和 BattleScene 的混合物。在我需要列表的地方,我显然只需要使用 WorldScene 和 BattleScene 共有的属性/方法。
我知道它们是两个截然不同的对象-但鉴于它们继承自同一事物-我希望有一些巧妙的方法可以以这种方式对它们进行分组,而无需手动将它们转换为第三种类型。