對於某些情況下 - 這是前面問題的擴展。創建列表<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都是它們的父類,因此可以將它們存儲在列表中並調用常用方法。 –