我發現this文章顯示如何將List轉換爲IEnumerable。有人可以向我解釋,如果有可能將它轉換成可以被許多列表使用的通用函數?使用TModel將通用函數轉換爲IEnumerable <SelectListItem>
舉例來說,我有一個
public class City
{
public int CityId { get; set; }
public string CityName { get; set; }
}
public class State
{
public int StateId { get; set; }
public string StateName { get; set; }
public string StateAbbreviation { get; set; }
}
然後,我有這兩個名單,我想顯示一個下拉菜單:
List<City> cities
List<State> states
我就可以建立做類似的東西2種不同的方法這個,但是我必須複製/粘貼這個代碼到多個列表中,這不是我想要的。
public static IEnumerable<SelectListItem> GetCitiesSelectList()
{
IEnumerable<SelectListItem> cityList = GetCities().Select(x => new SelectListItem() { Text = x.CityName, Value = x.CityId.ToString() });
return qList;
}
什麼我不知道是如果有一些與此類似,但能夠在任何類型的列表來傳遞,並通過在列表中文字與價值?我知道你可以用TModel做點什麼,但我不完全理解它,並希望有人能把我推向正確的方向。
爲什麼Statename的,CITYNAME?爲什麼不只是名字 – Peru
爲了清楚起見,因爲它只是一個例子。 –
用一些代碼片段更新了我的答案http://stackoverflow.com/a/41990164/1481690 – Peru