← 返回

Сериализация SettingsStorage

Хотел воспользоваться, т.к. всё таки есть методы Save() и Load() у стратегий, но что-то не удалось сохранить.

SettingsStorage storage  = new SettingsStorage();
storage.SetValue<int>("testvalue", 1);

XmlSerializer serializer = new XmlSerializer(typeof(SettingsStorage));
TextWriter writer = new StreamWriter("settingsstorage.xml");
serializer.Serialize(writer, storage);
writer.Close();

На выходе xml только с заголовком

<?xml version="1.0" encoding="utf-8"?>
<SettingsStorage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />

Попробовал так

SettingsStorage storage  = new SettingsStorage();
storage.SetValue<int>("testvalue", 1);
                
FileStream stream = new FileStream("serialize.dat", FileMode.Create);
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, storage);
stream.Close();

Тут кидает исключение > Type 'SettingsStorage' is not marked as serializable.

Поэтому возник вопрос, а как всё таки сохранить? Желательно в читабельном виде, чтобы можно было править в редакторе. Версия S# 4.0.8

本主题对您有帮助吗?

分享主题

评论 (2)

登录创建账户, 登录或注册以发表评论

Mikhail Sukhov
Mikhail Sukhov

Ecng.Serialization

destr
destr
destr 作者

Спасибо.