使用不同的Type对象

时间:2015-07-13 13:17:50

标签: c# arrays object visual-studio-2013

我正在呼叫第三方服务,并且在响应中他们返回了一个名为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;
}

有更好的方法用更少的代码行来完成同样的事情吗?我只是让每个_PROPERTY_INFORMATION都在Items数组中。

1 个答案:

答案 0 :(得分:1)

如何使用LINQ

_PROPERTY_INFORMATION result = RESPONSE.RESPONSE_DATA[0].PROPERTY_INFORMATION_RESPONSE.Items
    .First(x => x is _PROPERTY_INFORMATION);