将 List(of ExpanoObject) 转换为对象列表

convert a list(of ExpanoObject) to list of objects

提问人:Smith 提问时间:7/10/2023 最后编辑:nbkSmith 更新时间:7/10/2023 访问量:57

问:

我正在尝试使用以下代码将列表(ExpanoObject)转换为对象列表

Dim li As List(Of ListItem) = items.Select(Of ExpandoObject)
    (Function(itm As ExpandoObject) 
     New ListItem(itm.Id, itm.Name, itm.Value)).ToList()

我收到一个错误,说

Id、Name、Value 不是 ExpandoObjects 的成员

ListItem 是一个具有静态属性 Id、Name、Value 的静态类

我能做些什么来解决这个问题

vb.net Linq expandoObject

评论

0赞 Jimi 7/10/2023
您可能必须关闭(除了Option InferOption Strict)
2赞 Daniel A. White 7/10/2023
用作动态。
1赞 Jimi 7/10/2023
或者,可以将 Option Infer 保持为 ON,并将 ExpandoObject 强制转换为其基础接口之一。例如,Dim li As List(Of ListItem) = items.Select(Function(item As IDictionary(Of String, Object)) New ListItem(item("Id"), item("Name"), item("Value"))).ToList()
0赞 Smith 7/10/2023
@DanielA.White,你能展示示例代码吗?

答: 暂无答案