Какой тип массива Foo () и Foo ()? - PullRequest
0 голосов
/ 03 декабря 2010

Мы сгенерировали класс из 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(), икак мы можем это сделать?И добавить к этому?

Основной вопрос, я знаю.Возможно, он слишком привык к дженерикам, и теперь xsd бросил в меня что-то, что не List(of T) Я испуган.

Ответы [ 2 ]

2 голосов
/ 03 декабря 2010

Не смущайтесь двумя парами там.Первый набор - это просто символ после имени свойства, а второй - тип возвращаемого значения в виде массива объектов Product.

Аналогично: Public Property IDs() As Integer()

Это свойство возвращаетсуществует только массив целых чисел, а парены рядом с идентификаторами () существуют только потому, что вы объявляете свойство.

Так как оно выглядит как стандартный массив объектов Product, вы можете зациклить его с любым числомнормальные циклы:

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

или

For i As Integer = 0 To obj.PRODUCTS.Length-1
   ...
Next i
2 голосов
/ 03 декабря 2010

Ваш код

Открытое свойство PRODUCT () как PRODUCT ()

Возвращает массив объектов типа PRODUCT.Теперь, является ли этот Тип коллекцией, структурой или массивом, я не знаю с предоставленным вами кодом.Простейший способ зацикливаться на этом был бы таким:

For each prod as PRODUCT in rtnPRODUCTS
   'Do Something
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...