我有一个主类,其中有几个继承的成员,它们都重载了父类的相同 Draw 方法,但具有不同的 Initialize 方法。是否有可能对每个继承的类使用相同的列表类型,从而能够遍历 Draw 方法?我很确定您可以使用 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)
}
我很确定我在这里遗漏了一些东西。我不必以这种确切的方式来做,我宁愿寻找处理这些情况的一般方法。
谢谢!