如何传递匿名类型作为参数?
如何将匿名类型作为参数传递给其他函数?考虑以下示例:
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)
{
}
}
换句话说,我应该使用什么代替?
标记。
回答:
我认为您应该为此匿名类型创建一个类。我认为这将是最明智的选择。但是,如果您真的不想要,可以使用动态:
public void LogEmployees (IEnumerable<dynamic> list){
foreach (dynamic item in list)
{
string name = item.Name;
int id = item.Id;
}
}
请注意,此类型 不是 强类型,因此,例如,如果Name更改为EmployeeName,则直到运行时您才知道有问题。
以上是 如何传递匿名类型作为参数? 的全部内容, 来源链接: utcz.com/qa/429398.html