【发布时间】:2019-06-26 05:26:03
【问题描述】:
我创建了一个支持所有类模型的函数(通用)。但我有一个关于为每个循环获取泛型值的查询。
这是针对 ASP.NET (MVC),在控制器中创建的代码。
public List<SelectListItem> GetGenericList<T> (list<T> genModel)
{
List<SelectListItem> lst = new List<SelectListItem>();
foreach(var dyn in lst)
{
lst.add (new selectlistitem
{
text = dyn.??,
Value = dyn.??
});
}
}
- 如果我将员工类模型传递给此函数,我想访问属性名称,例如“文本”的 empid 和“值”的 empname。
- 如果我将学生类模型传递给此函数,我想访问属性名称,例如“文本”的 studentid 和“值”的 studentname。
【问题讨论】:
-
你在哪里使用过
genModel? -
你不需要泛型。您可以使用 Id 和 Name 属性创建一个名为 IModelInterface (或类似的东西..)的接口。在您的类(学生和员工)中实现该接口。将接口参数传递给 GetList 方法。循环时,您只需使用 dyn.Id 和 dyn.Name
-
SelectListItem有属性Text和Value,你有什么问题? -
另外,请确保您提供的代码能够编译。
-
另外,您的
foreach甚至不会运行一个循环。
标签: c# list function generics foreach