Десериализованные объекты C# Json в пользовательском классе для использования в циклах foreach требуют IEnumerableC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Десериализованные объекты C# Json в пользовательском классе для использования в циклах foreach требуют IEnumerable

Сообщение Anonymous »

Я загружаю пользовательский Json в пользовательский класс получения/установки, однако у меня совершенно нет опыта работы с IEnumerables, и я немного застреваю.

Код: Выделить всё

Json:
{
'Item1': {'a': value, 'b': value, 'c': []},
}
В будущем он может содержать более одного элемента #, но в этом стандарте он всегда будет иметь A B и C.
Использование NewtonSoft Json пакет, я делаю

Код: Выделить всё

JsonConvert.DeserializeObject(jsonConfig)
Класс ConfigurationFile — мой собственный, он выглядит следующим образом:

Код: Выделить всё

public class ConfigurationFile
{
public ItemInfo? item{ get; set; }
}

public class ItemInfo
{
public string a{ get; set; }
public string b { get; set; }
public string[]? c { get; set; }
}
Вот в чем проблема. Все элементы настроены правильно, как и ожидалось. Но для подготовки к будущему мне нужно прочитать и что-то сделать с каждым элементом A, B или C.
Ошибка, которую я получаю, заключается в том, что если я начну

Код: Выделить всё

foreach (ConfigurationFile item in loadedJson)
{
...do something to item.a ...
}
Тогда я получаю сообщение об ошибке: класс ConfigurationFile можно использовать только в foreach, если он реализует IEnumerate или IEnumerate или подходящий метод GetEnumerator.
Что это ошибка, которую я делаю? Единственное предположение, которое я могу сделать, это то, что мой собственный класс для получения/установки действительно будет работать только для 1 элемента и, следовательно, не может быть частью оператора for-each... но я не уверен, как с этим работать. вышел.

Подробнее здесь: https://stackoverflow.com/questions/790 ... each-loops
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»