Как сериализовать 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;
}
}