我在商店流程中推出了大部分方法功能。我正在返回2个表的连接结果,因此没有类型来收集返回数据。我正在考虑使用匿名类型。
public static List<Anonymous Type>
SaveUsersToGroup(int groupId, List<int> userIds)
{
//more here ...
var list = new List<Anonymous Type>();
foreach (DataRow row in dt.Rows)
{
list.Add(new { Id = row["Id"].ToString(),
FirstName = row["FirstName"].ToString(),
LastName = row["LastName"].ToString()
});
}
}
现在如何创建匿名对象列表。而且(最重要的是)这种方法的返回类型是什么?
感谢您的帮助。
答案 0 :(得分:3)
关于匿名类型的全部观点是它们是匿名的。你试图给它们命名,这不再使它们成为匿名。
使用dynamic
(不是我最喜欢的解决方案)或创建一个包含Id
,FirstName
和lastName
的类。
答案 1 :(得分:1)
你做不到:
您不能将字段,属性,事件或方法的返回类型声明为具有匿名类型。
你可以将mathod声明为IEnumerable<object>
,但你会看到这种类型的安全性,你将*使用dynamic
来阅读结果。
您应该创建简单的POCO类并返回该类项的集合而不是匿名类型。
答案 2 :(得分:1)
您可以使用dynamic
,因为您的投影是匿名的