親クラスの同じDrawメソッドをオーバーロードするいくつかの継承されたメンバーを持つ1つのメインクラスがありますが、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)
}
私はここで何かが欠けていると確信しています。私はこのように正確にそれを行う必要はありません、私はむしろこれらの状況をうまく処理する一般的な方法を探しています。
ありがとう!