Один из способов сделать это - добавить еще два параметра в ваш метод - текстовый селектор и селектор значений:
public List<SelectListItem> GetGenericList<T> (list<T> genModel, Func<T, string> textSelector, Func<T, string> valueSelector)
{
List<SelectListItem> lst = new List<SelectListItem>();
// loop through genModel, not lst!
foreach(var model in genModel)
{
lst.add (new SelectListItem
{
Text = textSelector(model), // Note how we use the selectors here
Value = valueSelector(model)
});
}
return lst;
}
Чтобы использовать этот метод, скажем, Employee
, вы делаете этокак это:
GetGenericList(someEmployeeList, x => x.empid, x => x.empname);
Для Student
, вы можете дп:
GetGenericList(someStudentList, x => x.studentid, x => x.studentname);