C# 如何将从ParseObject派生的类序列化到应用程序本地存储中?
使用Parse.com,我有一个子类如下:C# 如何将从ParseObject派生的类序列化到应用程序本地存储中?,c#,serialization,parse-platform,uwp,C#,Serialization,Parse Platform,Uwp,使用Parse.com,我有一个子类如下: [DataContract] [ParseClassName("Event")] public class TestDerivedObject : ParseObject { [DataMember] [ParseFieldName("name")] public string Name { get { return GetProperty<string>(); } set {
[DataContract]
[ParseClassName("Event")]
public class TestDerivedObject : ParseObject
{
[DataMember]
[ParseFieldName("name")]
public string Name
{
get { return GetProperty<string>(); }
set { SetProperty(value); }
}
[DataMember]
[ParseFieldName("description")]
public string Description
{
get { return GetProperty<string>(); }
set { SetProperty(value); }
}
}
它引发了一个例外:
WinRT信息:尝试序列化要写入的值时出错
到应用程序数据存储
其他信息:不支持此类型的数据
如何将这样的对象安全地保存到本地存储?我看到在Android实现中,您可以使用Pin
方法来为您实现它 Windows 10(UWP)不允许在LocalSettings
字典中存储复杂对象
应用程序设置支持大多数Windows运行时数据类型:
- UInt8、Int16、UInt16、Int32、UInt32、Int64、UInt64、单、双
- 布尔值
- 字符16,字符串
- 日期时间,时间跨度
- GUID、点、大小、矩形
- 应用程序数据复合值
string serialized = JsonConvert.SerializeObject(myTestDerivedObject);
更新(由提供给我的) 看起来您基本上是在使用
Parse.com
对象。因为这些对象是要序列化的PITA,因为它们实现了IEnumerable
。一种可能的解决方案是使用例如AutoMapper
将Parse.com
对象映射到另一个自定义类型(或手动映射属性)并序列化您自己的类型
string serialized = JsonConvert.SerializeObject(myTestDerivedObject);