Как исправить непараметрический конструктор, необходимый для коллекций и перечислителей. Ошибка
у меня есть программа для чтения значений из xml-файла.
у меня есть xml-элемент, который нужно читать следующим образом:
<equipment> <item>114301725</item> <item>111301657</item> <item>113301688</item> <item>100201432</item> <item>112301596</item> <item>100201432</item> <item>110301719</item> </equipment>
но когда я пытаюсь запустить программу, она показывает мне ошибку:
--- > Система.InvalidOperationException: не удалось десериализовать global:: WorldServer. Data.Шаблоны.Npc2.NpcEquippedGear. Для коллекций и перечислителей требуется конструктор без параметров.
Так как же я могу исправить эту ошибку?
Что я уже пробовал:
Вот мой код для чтения
[XmlElement("equipment")] public NpcEquippedGear equipment;
и класс NpcEquipedGear:
public class NpcEquippedGear : IEnumerable<KeyValuePair<EquipmentSlot, ItemTemplate>> { private Dictionary<EquipmentSlot, ItemTemplate> items; private int mask; private NpcEquipmentList v; public NpcEquippedGear(NpcEquipmentList v) { this.v = v; } public void Add(object o) { } public int getItemsMask() { if (items == null) init(); return mask; } public void init() { lock(this) { if (items == null) { items = new Dictionary<EquipmentSlot, ItemTemplate>(); foreach (ItemTemplate item in v.items) { if (items[item.EquipmentSlot] == null) { items.Add(item.EquipmentSlot, item); mask |= (int)item.EquipmentSlot; } } } v = null; } } public ItemTemplate GetItem(EquipmentSlot slot) { return items != null ? items[slot] : null; } public IEnumerator GetEnumerator() { return GetEnumerator(); } IEnumerator<KeyValuePair<EquipmentSlot, ItemTemplate>> IEnumerable<KeyValuePair<EquipmentSlot, ItemTemplate>>.GetEnumerator() { return items.GetEnumerator(); } }