在Windows商店应用,我只能存放在WinRT的的applicationSettings类型,根据文档。 对于应保持在一起,我可以用ApplicationDataCompositeValue漫游设置。 尝试存储的自己的类或结构的结果的一个实例与该消息中的异常“的WinRT信息:错误试图序列被写入应用程序数据存储器中的值的其他信息:不支持这种类型的数据”。 术语“试图序列”表明必须有一些方式,以便序列化应用数据API类型。
有谁知道我怎么能做到这一点?
我试图DataContract序列,但没有奏效。
我想自定义/自己的类型不被支持。
见http://msdn.microsoft.com/en-us/library/windows/apps/hh464917.aspx :“Windows运行时数据类型支持的应用程序设置。”
但是你可以序列化的对象到XML并保存为字符串......(见下面的代码)
public static string Serialize(object obj)
{
using (var sw = new StringWriter())
{
var serializer = new XmlSerializer(obj.GetType());
serializer.Serialize(sw, obj);
return sw.ToString();
}
}
public static T Deserialize<T>(string xml)
{
using (var sw = new StringReader(xml))
{
var serializer = new XmlSerializer(typeof(T));
return (T)serializer.Deserialize(sw);
}
}
https://github.com/MyToolkit/MyToolkit/blob/master/src/MyToolkit/Serialization/XmlSerialization.cs
看看这个课呢:
https://github.com/MyToolkit/MyToolkit/wiki/XmlSerialization
免责声明:以上链接来自我的项目
文章来源: Is there a way to store instances of own classes in the ApplicationSettings of a Windows Store app?