如何将匿名类型作为参数传递给其他函数?考虑这个例子:
var query = from employee in employees select new { Name = employee.Name, Id = employee.Id };
LogEmployees(query);
变量query
这里没有强类型。我该如何定义我的LogEmployees
函数接受吗?
public void LogEmployees (? list)
{
foreach (? item in list)
{
}
}
换句话说,我应该用什么来代替?
marks.
我认为你应该为这种匿名类型创建一个类。在我看来,这是最明智的做法。但如果你真的不想,你可以使用动力学:
public void LogEmployees (IEnumerable<dynamic> list)
{
foreach (dynamic item in list)
{
string name = item.Name;
int id = item.Id;
}
}
请注意,这是not强类型,因此,例如,如果 Name 更改为 EmployeeName,您直到运行时才会知道存在问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)