コンテキストによっては、これは以前の質問の拡張です。
List<baseClass> を List<derivedClass> でオーバーライドする
ともかく、
ジェネリック基本クラス「Scene」があります
public class Scene<T> where T: SceneModel { }
これから継承する2つのクラスもあります。
public class WorldScene : Scene<WorldModel> { }
public class BattleScene : Scene<BattleModel> { }
ここで必要なのはList<Scene<SceneModel>>
、WorldScene と BattleScene が混在する を用意することです。リストが必要な場合は、WorldScene と BattleScene に共通のプロパティ/メソッドを使用するだけでよいことは明らかです。
それらは2つの明確に異なるオブジェクトであることがわかりますが、同じものから継承していることを考えると、手動で3番目のタイプにキャストすることなく、この方法でそれらをグループ化する巧妙な方法があることを願っています.