Как сериализовать List<>? - C#
Формулировка задачи:
Продолжаю писать свою игрушку...
Решил сделать инвентарь через List<Item>, где Item -- класс предмета.
Так вот, теперь сохранение через сериализацию не робит, как быть ?
Выдает ошибку System.InvalidOperationException на строке
Я уже ненавижу эту строчку...
XmlSerializer formatter = new XmlSerializer(typeof(Hero));
Решение задачи: «Как сериализовать List<>?»
textual
Листинг программы
XmlSerializer formatter = new XmlSerializer(typeof(PropertyContainer)); public bool saveProperties() { try { if (curPropertiesSet == null) { return false; } using (FileStream fs = new FileStream(path + @"" + curPropertiesSet.Name + ".xml", FileMode.Create)) { formatter.Serialize(fs, curPropertiesSet); } return true; } catch (Exception ex) { host.writeLog("Не удалось сохранить свойства корректора\r\n" + ex.ToString(), (int)logLevels.ERROR); return false; } } public bool loadProperies(String fileName) { try { if (!File.Exists(fileName)) { host.writeLog("Файл свойств EK-270 не существует", (int)logLevels.WARNING); return false; } FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate); PropertyContainer propertiesSet = (formatter.Deserialize(fs) as PropertyContainer); propertiesList.Add(propertiesSet); return true; } catch (Exception ex) { host.writeLog("Не удалось загрузить настройки из файла " + fileName + "\r\n" + ex.ToString(), (int)logLevels.ERROR); return false; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д