Ank*_*bey 5 c# exception-handling roaming windows-store-apps
我想要的是:我正在尝试在漫游设置中存储复杂的数据类型.这是我的对象的样子:
public abstract class Query
{
[DataMember]
public Cube Cube { get; private set; }
[DataMember]
public List<Filter> Filters { get; private set; }
[DataMember]
public Slicer Slicer { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
有什么问题:
Query q = ...;
RoamingSettings.Values["query"] = q;
Run Code Online (Sandbox Code Playgroud)
给出错误:
数据类型不受支持
我尝试过:在复合设置的不同字段中存储Query类的不同成员.但是Query类的数据成员又是不同类的对象,因此不能存储在composite.Values ["setting"]中.
请参考: windows 8 app漫游存储与自定义类.使用复合设置回答了这个问题,但不适用于我的问题.
我该怎么办?
小智 0
安库什,
看起来您正在尝试将自定义对象的集合推送到 RoamingSettings 中,但这并不完全是它的目的。本地/漫游设置通常存储在注册表中,用于简单的名称/值对。
怎么样 - 将整个对象模型展平以将其存储为文件?这样,您可以在需要时轻松序列化/反序列化您的数据,并在应用程序中对您的对象模型进行水合/脱水。此外,扁平化内容可以保存在漫游文件夹中,以便在多个用户设备之间同步。只需根据需要注释自定义对象属性,然后使用 DataContractSerializer 展平/取消展平数据并将 XML 文件保留在漫游文件夹中。只是不要依赖即时云同步;Windows 将适时同步漫游文件夹中的文件。
此 MSDN 快速入门应该可以帮助您:
http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh700362.aspx
谢谢!
| 归档时间: |
|
| 查看次数: |
842 次 |
| 最近记录: |