gpt4 book ai didi

c# - 如何传递匿名类型作为参数?

转载 作者:行者123 更新时间:2023-11-30 13:05:58 27 4
gpt4 key购买 nike

如何将匿名类型作为参数传递给其他函数?考虑这个例子:

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,您直到运行时才会知道有问题。

关于c# - 如何传递匿名类型作为参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/775387/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com