我正在尝试使用引擎盖下的 WebPages 使用 WebMatrix 来模拟页面。我已将隐式类型的匿名对象数组分配给 PageData 键之一,但是当我尝试在集合上使用 LINQ 方法时出现以下错误:
CS1977: Cannot use a lambda expression as an argument to a dynamically dispatched operation without first casting it to a delegate or expression tree type
这是一些示例代码:
@{
PageData["Vals"] = new [] {
new { ID=1, Quantity=5 },
new { ID=2, Quantity=3 }
};
var sum = PageData["Vals"].Sum(x => x.Quantity);
}
如果我首先将数组存储在常规对象中,则可以对其使用 LINQ 方法就可以了。当它作为动态对象从 PageData 出来时似乎存在问题 - 但我似乎无法弄清楚将其强制恢复为初始类型的秘诀。