первый вопрос о S.O, и все вокруг новичка на данный момент.Инициализация класса с помощью конструктора с iList <T>?
Я пытаюсь создать Json-файл из объекта прямо сейчас для игры. Это главный объект, который я хочу, чтобы записать в файл: (классы «блок», и «элементы» являются iLists, как вы можете, вероятно, сказать)
public string title { get; set; }
public string type { get; set; }
public string map { get; set; }
public string mode { get; set; }
public string champion { get; set; }
public int sortrank { get; set; }
public bool isGlobalForChampions { get; set; }
public bool isGlobalForMaps { get; set; }
public bool priority { get; set; }
public IList<Block> blocks { get; set; }
public IList<object> associatedChampions { get; set; }
public IList<object> associatedMaps { get; set; }
public ItemSet(string _title, string _type, string _map, string _mode, string _champion, int _sortrank, bool _isGlobalForChampions, bool _isGlobalForMaps, bool _priority, IList<Block> _blocks, IList<object> _associatedChampions, IList<object> _associatedMaps)
{
title = _title;
type = _type;
map = _map;
mode = _mode;
champion = _champion;
sortrank = _sortrank;
isGlobalForChampions = _isGlobalForChampions;
isGlobalForMaps = _isGlobalForMaps;
priority = _priority;
blocks = _blocks;
associatedChampions = _associatedChampions;
associatedMaps = _associatedMaps;
}
public class Block
{
public IList<Item> items { get; set; }
public string type { get; set; }
}
public class Item
{
public int count { get; set; }
public string id { get; set; }
}
Но я получаю отчетливое чувство, что я нахожусь обо всем этом не так. Я фактически использовал генератор Json для C#, чтобы обнаружить (после многих неудачных попыток вручную) дать мне представление о переменных переменных, которые мне, возможно, потребуется рассмотреть. Но я не могу для жизни понять, что синтаксис для инициализации iList <> с конструктором, и никакое количество плохой googling не приближает меня к этому ответу.
Текущий intialization: (отсутствующий последних 3-х аргументов, очевидно)
ItemSet itemSetTest = new ItemSet("TEST_ITEM_SET", "custom", "any", "", "Kalista", 0, false, true, false,);
Если я не предоставил достаточно/право информации, пожалуйста, не стесняйтесь быть тупым!
Боковые вещи: Предполагаю, что я буду добавлять в списки, как и с любым другим массивом? Действительно ли это ужасный способ сделать это?
'IList' это интерфейс, используйте 'List ', такие как 'IList блоков = новый список ()' –
См [Object и Инициализаторы коллекции в C#] (https://msdn.microsoft.com/en-us/library/bb384062.aspx) –