gpt4 book ai didi

configuration - 有没有办法在 Windows Store 应用程序的 ApplicationSettings 中存储自己的类的实例?

转载 作者:行者123 更新时间:2023-12-01 09:33:19 24 4
gpt4 key购买 nike

根据文档,在 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

免责声明:以上链接来 self 的项目

关于configuration - 有没有办法在 Windows Store 应用程序的 ApplicationSettings 中存储自己的类的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12553485/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com