Foo()和Foo()是什么类型的数组?

时间:2010-12-03 11:51:31

标签: vb.net arrays xsd

我们前后从XML文件生成了一个类。我想我们使用的是xsd.exe。

XML文件中的一个主要节点集合呈现为:

<System.Xml.Serialization.XmlElementAttribute("PRODUCT")>  _
Public Property PRODUCT() As PRODUCT()
    Get
        Return Me.pRODUCTField
    End Get
    Set
        Me.pRODUCTField = value
    End Set
End Property

可以肯定的是,后来定义了PRODUCT类,它运行良好。序列化和反序列化的罚款。不需要担心或操纵它。

现在我们必须重新审视和操纵数据。

但是什么样的集合(数组?)是Public Property PRODUCT() As PRODUCT(),我们如何循环呢?并添加到它?

基本问题,我知道。可能对generics太满意了,现在xsd向我抛出了一些不是List(of T)我害怕的事情。

2 个答案:

答案 0 :(得分:2)

您的代码

  

公共财产PRODUCT()as PRODUCT()

返回PRODUCT类型的对象数组。现在,无论该类型是集合,结构还是数组,我都不知道您提供的代码。循环它的最简单方法就是这样。

For each prod as PRODUCT in rtnPRODUCTS
   'Do Something
Next

答案 1 :(得分:2)

不要被那里的两套parens弄糊涂。第一组,只是属性名称后面的parens,而第二组将返回类型标识为Product对象数组。

类似于:Public Property IDs() As Integer()

该属性只返回一个整数数组,并且只有在ID()附近的parens存在,因为你声明了属性。

因为它似乎是Product对象的标准数组,所以你可以用任意数量的普通循环遍历它:

For Each p As PRODUCT In obj.PRODUCTS()
   ...
Next

For i As Integer = 0 To obj.PRODUCTS.Length-1
   ...
Next i