私は1つのビューモデルを受け入れるメソッドを持っています。私は別のviewmodelのために同じメソッドを複製する必要があります。私はfunctionname(tモデル)のようなものを試しましたが、それは仕事をしませんでした。私はジェネリックスに新しいです。 は、いくつかのいずれかは、私は別のメソッド名と同じコードをコピー&ペーストすることを強制しています私メソッドを異なるビューモデルに汎用化する
private void SetUpUserTypeDropDown(RegisterViewModel model)
{
var usertypes = GetuserTypes();
model.UserTypes = new List<SelectListItem> { };
usertypes.ForEach(t => model.UserTypes.Add(new SelectListItem() { Text = t.Text, Value = t.Value }));
}
private void SetUpUserforBackOfficeTypeDropDown(BackOfficeViewModel model)
{
var usertypes = GetuserTypes();
model.UserTypes = new List<SelectListItem> { };
usertypes.ForEach(t => model.UserTypes.Add(new SelectListItem() { Text = t.Text, Value = t.Value }));
}
private void SetUpProfileTypeDropDown(MyProfileViewModel model)
{
var usertypes = GetuserTypes();
model.UserTypes = new List<SelectListItem> { };
usertypes.ForEach(t => model.UserTypes.Add(new SelectListItem() { Text = t.Text, Value = t.Value }));
}
助けることができます。私はすべてのあなたの*ViewModel
-classesはあなたがすべての基本クラスを作成する方法について考えることができますList<SelectListItem>
タイプのUserTypes
という名前のプロパティを持っているので、一般的な入力として
あなたの 'ViewModel'はすべて特異なインターフェースから継承していると思いますか? –
共通のフィールドを持つ抽象ビューモデルを構築する必要があります。 – lem2802