我有以下代码,该代码从包含Id字段和Name字段的数据库表中返回结果,并将其传输到SelectListItems列表中(这在我的视图中填充一个下拉框。)
var locationTypes = await APIHelper.GetAsync<List<LocationType>>(url);
var items = new List<SelectListItem>();
items.AddRange(locationTypes.Select(locationType =>
{
var item = new SelectListItem();
item.Value = locationType.LocationTypeId.ToString();
item.Text = locationType.Name;
return item;
}));
我在整个应用程序中都重复了很多次,用LocationType代替了其他各种东西。item.Value始终获取返回数据的Id属性(Id字段始终为{TableName} +“ Id”的格式),而item.Text始终获取“ .Name”属性。
我该如何使它通用?我正在尝试实现类似这样的方法,尽管它在语法上是不正确的,并且可能是错误的方法:
var myGenericObjects = await APIHelper.GetAsync<List<T>>(url)
var items = new List<SelectListItem>();
items.AddRange(myGenericObjects .Select(myGenericObjects =>
{
var item = new SelectListItem();
item.Value = myGenericObject.Field[0].ToString();
item.Text = myGenericObject.Name;
return item;
}));
相关分类