Vb.net 如何遍历ExpandooObject并获取特定值
我有以下XML (部分) 然而,我很难再深入下去了。 尝试了所有被注释掉的Vb.net 如何遍历ExpandooObject并获取特定值,vb.net,dictionary,expandoobject,Vb.net,Dictionary,Expandoobject,我有以下XML (部分) 然而,我很难再深入下去了。 尝试了所有被注释掉的 'error For Each c In def.changes 'unable to cast 'error For Each member In CType(def.changes, IDictionary(Of String, Object)) 'Invalid cast 'error For Each c In def.change
'error For Each c In def.changes 'unable to cast
'error For Each member In CType(def.changes, IDictionary(Of String, Object)) 'Invalid cast
'error For Each c In def.change 'missing change
'error For Each c In def.changes.change 'missing change
'error For Each c In def.definition.changes.change 'missing definition
'error Console.WriteLine(def.changes.change(0).number) 'missing member
'Console.WriteLine(def.changes.changelist.numner)
For Each member In CType(def.changes, IDictionary(Of String, Object))
Console.WriteLine(member.Key)
Next
这就是def变量的外观
任何指点都将不胜感激。具体地说,通过反复修改。由@TnTinMn解决。使用了错误的外壳。这就是它的工作原理
For Each change As Object In def.changes.changeList
Console.WriteLine(change.number)
Next
您正在根据成员名称进行后期绑定。因此,要在
def
中迭代更改列表:对于def.changes.changeList
中作为对象的每个更改,@TnTinMn我现在知道哪里出错了。变更列表是大写的L。我想我已经试过你的例子,但一定是小写的L。谢谢你给我指明了正确的方向。
'error For Each c In def.changes 'unable to cast
'error For Each member In CType(def.changes, IDictionary(Of String, Object)) 'Invalid cast
'error For Each c In def.change 'missing change
'error For Each c In def.changes.change 'missing change
'error For Each c In def.definition.changes.change 'missing definition
'error Console.WriteLine(def.changes.change(0).number) 'missing member
'Console.WriteLine(def.changes.changelist.numner)
For Each member In CType(def.changes, IDictionary(Of String, Object))
Console.WriteLine(member.Key)
Next
For Each change As Object In def.changes.changeList
Console.WriteLine(change.number)
Next