【发布时间】:2015-07-13 13:17:50
【问题描述】:
我正在调用第三方服务,并且在响应中他们返回了一个名为 Items 的对象[]。该对象数组在其数组中包含几个不同类型的不同对象。
这是Items 在 CS 文件中的样子:
[System.Xml.Serialization.XmlElementAttribute("REPORT", typeof(REPORT))]
[System.Xml.Serialization.XmlElementAttribute("_PRODUCT", typeof(_PRODUCT))]
[System.Xml.Serialization.XmlElementAttribute("_PROPERTY_INFORMATION", typeof(_PROPERTY_INFORMATION))]
public object[] Items
{
get
{
return this.itemsField;
}
set
{
this.itemsField = value;
}
}
我需要访问 Items 数组中的 _PROPERTY_INFORMATION 对象。但是,我不确定完成此类任务的最佳方法是什么。
这是我目前拥有的:
var items = RESPONSE.RESPONSE_DATA[0].PROPERTY_INFORMATION_RESPONSE.Items;
foreach (_PROPERTY_INFORMATION info in items)
{
parsedStreetAddress = info.PROPERTY._PARSED_STREET_ADDRESS;
}
有没有更好的方法用更少的代码来完成同样的事情?我只是获取 Items 数组中的每个 _PROPERTY_INFORMATION。
【问题讨论】:
-
您是否只希望在
items中有一个PROPERTY_INFORMATION实例?还是只想要最后一个? -
检查每个项目的类型 - 如果它是您要查找的类型,则强制转换并访问该属性。
标签: c# arrays object visual-studio-2013