Я довольно новый (нормально, REALLY новый) для дженериков, но мне нравится их идея. Я собираюсь иметь несколько выпадающих списков в представлении, и мне бы хотелось, чтобы общий список объектов и преобразование в список SelectListItems
Что у меня сейчас:
public static IEnumerable<SelectListItem> ToSelectListItems(
this IEnumerable<SpecificObject> items, long selectedId)
{
return
items.OrderBy(item => item.Name)
.Select(item =>
new SelectListItem
{
Selected = (item.Id == selectedId),
Text = item.Name,
Value = item.Id.ToString()
});
}
Проблема в том, что мне нужно будет повторить этот код для каждого раскрывающегося списка, поскольку объекты имеют разные поля, которые представляют свойство Text
для SelectListItem
Вот что я хотел бы сделать:
public static IEnumerable<SelectListItem> ToSelectListItem<T>(this IEnumerable<T> items, string key, string value, int SelectedId) {
// I really have no idea how to proceed from here :(
}