私は、すべてがインターフェースから継承するという一連のクラスを作成して*Activity
います。IActivity
public interface IActivity
{
void StartActivity();
}
public class MyFirstActivity : IActivity
{
public int SomeVariable {get; set;}
public MyFirstActivity(int someVariable)
{
SomeVariable = someVariable
}
public void StartActivity()
{
//some code to do stuff with SomeVariable
}
}
これは、 のリスト/配列を作成し、それらのメソッドIActivity
を実行できるようにするためです。StartActivity()
今私がしたいのは、から継承する各クラスの UserControl (変数をグラフィカルに編集し、アクティビティをグラフィカルに順序付けするため) を持つことIActivity
です。
これを行う最善の方法は何ですか?
私の考えは次のいずれかです。
- アクティビティごとに個別の UserControl を作成してから、UserControl のコンストラクターでアクティビティのインスタンスを作成します... または...
- 各アクティビティを から継承する UserControl にし
IActivity
ます。これに関する問題は、プログラムの他の部分で UserControl 要素を使用したくない場合があることです。それぞれが実行するアクションを使用し、これに UserControl を使用すると、必要のない場合により多くのリソースが確実に使用されます...
何かご意見は?
編集:
各アクティビティには編集可能ないくつかのプロパティがあり、それぞれStartActivity
が呼び出されたときに実行される個別のアクションを実行するという考え方です。アクティビティは、アクティビティのインスタンスを作成してリストに追加することにより、コードで実行できます。リストをループして、それぞれStartActivity
を順番に実行します。別の方法として、フォーム上で、各アクティビティの UserControls を作成し、ユーザーが目的の順序になるようにフォームをドラッグして (バックグラウンドでリストに入力します)、[開始] ボタンをクリックします (リストをループして、それぞれStartActivity
を順番に呼び出します)。
これは WinForms を使用します。