Как сериализовать 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;
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д