编程语言
首页 > 编程语言> > 如何在C#中创建常规列表/模板列表

如何在C#中创建常规列表/模板列表

作者:互联网

我有一个带有几个继承成员的主类,这些成员都重载了父类的同一个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)
 }

我很确定我在这里错过了一些东西.我不必以这种确切的方式来做,而是要寻找一种很好的方式来处理这些情况.

谢谢!

解决方法:

尝试:

IList<ExpandingWindow> windows = new List<ExpandingWindow>();

// initialize them via constructor
windows.Add(new MainMenu(A, B));    
windows.Add(new SideMenu(A, B, C));

foreach(var window in windows) {
    window.Draw();
}

标签:xna-4-0,c,net
来源: https://codeday.me/bug/20191201/2078944.html