我有一个主类,有几个继承成员,它们都重载父类的相同Draw方法,但具有不同的Initialize方法。是否有可能为每个继承类使用相同的列表类型,从而能够遍历Draw方法?我非常肯定你可以用C++中的模板来做到这一点,但似乎无法找到在C#中使用它的方法。这里有一个例子:如何在C#中创建通用列表/模板列表
class MainMenu : ExpandingWindow{
Init(A,B)
Draw(D)
}
class SideMenu : ExpandingWindow{
Init(A,B,C)
Draw(D)
}
我希望能够做到:
WindowList List<ExpandingWindow>
WindowList.Add(new MainMenu)
WindowList.Add(new SideMenu)
WindowList[0].Initialize(A,B)
WindowLIst[1].Initialize(A,B,C)
和:
for each window in WindowList{
window.Draw(D)
}
我敢肯定我在这里失去了一些东西。我不必以这种确切的方式去做,我宁愿寻找处理这些情况的一般方法。
谢谢!
这似乎解决了列表问题,谢谢! –