我有object
:
Object
Adress - count = 2 - System.Collections.Generic.List<Address>
[0] Address
City - "Text" - string
State - "Text" - string
[1] Address
City - "Text" - string
State - "Text" -string
Notes - "Text" - string
Items - Type(Item)
Item - count = 2 - System.Collections.Generic.List<Item>
[0] Item
Name - "Text" - string
Price - "Text" - string
[1] Item
Name - "Text" - string
Price - "Text" - string
在这个对象中,Address是所有地址的列表,notes只是对象的另一个字段,items有一个名为item的子项,它包含里面的列表,就像地址一样。
我通过以下代码获得了笔记的价值:
foreach (var item in (object as IEnumerable).Cast<object>().ToList())
{
String substring = item.GetType().GetProperty("Notes").GetValue(item).ToString();
}
这是我从方法传递给List:System.Collections.Generic.List1[Address]
但是我无法访问列表,我需要在X列表中分隔这个对象,如下所示:
Object2
Adress
[0]
[1]
Object3
Items
Item
[0]
[1]
然后我可以使用上面的方法得到值,任何建议?我已经尝试了很多方法......
答案 0 :(得分:1)
只需将Adress属性的值转换为List<Object>
,就像这样
foreach (var item in (object as IEnumerable).Cast<object>().ToList())
{
List<Object> address = item.GetType().GetProperty("Adress").GetValue(item) as List<Object>;
foreach(var ad in address)
{
//do what you want here
}
}