У меня есть список объектов C#, и я пытаюсь получить доступ к его вложенному объекту. Вот структура из отладчика Visual Studio, (жаль, что я не могу вставлять изображения, так как я новичок на сайт):Как читать массив объектов
>product.Product {Product.AxdEntity_Product_EcoResProduct[1]}
>> - [0] {Product.EcoResProductMaster} // #1 - Please note curley braces
>>> - [Product.EcoResProductMaster] // #2 - Please note brackes
>>> + base {Product....
>>> + ModelingPolicy
>> + Identifier
Чтобы получить доступ к свойствам в # 1, я хотел бы сделать следующее:
var prod = product.Product[0];
Затем я может получить доступ к "идентификатор", как, например:
var identifier = prod.Identifier[0]...
Для того, чтобы получить доступ к свойствам в # 2 (например, ModelingPo licy), я не уверен, как идти об этом:
var prod = product.Product[0][WhatShouldGoHere?].ModelingPolicy[0] ...?? I need help here
В конце концов, я хотел бы получить доступ к ModelingPolicy [0], как я сделал с prod.Identifier [0]. Класс Product возвращается из веб-службы, и у меня нет доступа к его определению. По крайней мере, я не думаю, что знаю.
Благодарим за любые рекомендации!
Вам следует переключиться с массива на [Список] (http://msdn.microsoft.com/en-us/library/6sh2ey19 (v = vs.110) .aspx) или другую общую коллекцию. Это более уместно в 99% ситуаций. Кроме того, вы должны внести изменения в свой пост, чтобы включить структуру класса вашего класса продукта и ваш класс идентификатора. –
mason
Поиск в отладчике - отличный способ определить, какой код должен быть, поскольку отладчик покажет вам больше, чем вы можете определить во время выполнения. Я бы опубликовал определения классов для типа, имеющего свойство «Продукт» и тип массива (выглядит как «AxdEntity_Product_EcoResProduct»). –
Спасибо за подсказку. Я пересмотрю это, но обратите внимание, что я получаю результаты как класс продукта из веб-службы, поэтому здесь перечисляется весь один объект, возвращаемый мне службой. Я просто пытаюсь получить доступ к # 2 и его свойствам. Я обновил этот вопрос в надежде сделать его более ясным. – user1085821