6

我有一个名为 products 的简单扩展对象列表。

我在运行时向这些对象添加各种字段(例如颜色或大小)

如何根据动态字段在此列表上编写 LINQ 查询?

使用经典的对象列表,我可以编写这样的 LINQ 查询:

From item in Products Where item.color="red" select item

但是使用expandos,如何实现这一点,知道我事先不知道字段的名称(可能是重量大小或其他任何东西)?

先感谢您。

4

2 回答 2

6

expando 对象实现 IDictionary(Of String, Object) 因此,您可以将其转换为 IDictionary 并通过传递字符串来访问它的属性。

于 2011-03-26T22:25:41.600 回答
0

您可以这样编写代码:From item in Products Where (item as dynamic).color="red" select item

于 2013-01-07T05:34:43.290 回答