現在、リストを作成するC#プログラムで作業しています。オブジェクトTaskは基本クラスであり、他の多くはそれを継承しています。私がしたいのは、リスト内のオブジェクトの1つのタイプを比較して、編集するためにどのフォームを開くべきかを調べることです。継承が使用されている場合にリストの型をチェックする方法
これは既に作成したコードです。二ノートで
private void itemEdit_Click(object sender, EventArgs e)
{
int edi = taskNameBox.SelectedIndex;
Task checkTask = todoList.ElementAt(edi);
if(checkTask.GetType is Note)
{
noteBuilder editNote = new noteBuilder(todoList);
editNote.Show();
}
else if(checkTask.GetType is extendedTask)
{
extendedTaskBuilder editTask = new extendedTaskBuilder(todoList);
editTask.Show();
}
else if(checkTask.GetType is Reminder)
{
reminderBuilder editReminder = new reminderBuilder(todoList);
editReminder.Show();
}
else if (checkTask.GetType is Appointment)
{
appointmentBuilder editAppointment = new appointmentBuilder(todoList);
editAppointment.Show();
}
}
代わりに、フォーム間のリストを渡すと、私だけではなく、フォームとの間で単一のオブジェクトを渡すことの情報を表示するフォームの新しいオブジェクトを生成するすべてのフォームを更新するかどうかは容易になるだろう新しい要素がリストに追加される時刻。
感謝
なぜ型に含まれている項目の1つのみをチェックするときに、完全なtodolistをビルダーに渡していますか?リストを編集するのか、選択した1つのアイテムだけを編集しますか? – Marcel
@マルセルおそらく彼はそれを渡していません。メンバー変数にすることができます。 WillzSawyer、あなたは実際に答えを持っています。 – nawfal
OKですが、さらに混乱します。私には、質問はかなり不明であり、受け入れられた答えは合理的な方法で質問と一致しません。病気 'は質問に-1を与える。 – Marcel