【发布时间】:2015-08-09 09:21:23
【问题描述】:
为什么在 c# 中我们不能将匿名对象包装在对象列表中?
例如,我在 StackOverFlow 中看到了 this Question C# Linq, object definition does not contains a property
var anynomousObject = new { Amount = 10, weight = 20 };
List<object> ListOfAnynomous = new List<object> { anynomousObject, anynomousObject };
var productQuery =
from prod in ListOfAnynomous
select new { prod.Amount, prod.weight };
foreach (var v in productQuery)
{
Console.WriteLine(v.Amount);
Console.WriteLine(v.weight);
}
答案是他应该将匿名者包装在dynamic 的列表中,但实际上我不明白为什么在运行时我们无法获取它们的值。
【问题讨论】:
-
您究竟是如何将匿名包装在动态列表中?我刚刚做了一个简单的测试,看起来
from dynamic prod in ...有效。
标签: c# linq compilation runtime