.net Expando 对象和 LINQ。可能还是不可能?

发布于 2024-10-26 14:19:25 字数 289 浏览 1 评论 0原文

我有一个简单的扩展对象列表,称为产品。

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

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

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

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

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

先感谢您。

I have a simple list of expando objects called products.

i add various fields to these objects at runtime ( for example color or size)

How can i write a LINQ query on this list based on dynamic fields ?

With a classic list of objects i could write a LINQ query like this :

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

but with expandos , how this can be achieved , knowing that i don't know in advance the name of the fields (it could be size of weight or anything else ) ?

Thank you in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦与时光遇 2024-11-02 14:19:25

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

The expando object implements IDictionary(Of String, Object)
Thus you could cast it to an IDictionary and access it's properties by passing a string.

薯片软お妹 2024-11-02 14:19:25

你可以这样写你的代码:
从产品中的项目(项目为动态).color="red" 选择项目

You can write your code like this:
From item in Products Where (item as dynamic).color="red" select item

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文