没有简单的方法来做你所建议的事情,因为C#中的所有类型都是强类型的,甚至是你正在使用的匿名类型.然而,将它拉下来并非不可能.要做到这一点,你必须利用反射并在内存中发出自己的程序集,添加一个包含所需特定属性的新模块和类型.可以使用以下方法从您的匿名项获取属性列表:
foreach(PropertyInfo info in item.GetType().GetProperties()) Console.WriteLine("{0} = {1}", info.Name, info.GetValue(item, null));