【发布时间】:2015-12-16 09:47:46
【问题描述】:
目前我正在使用以下方法来存储编译成功的数据
App.removalList.Add(new RemoveFavourites(App.user.auth_token, App.user.user_id, proid.ToString()));
ApplicationData.Current.LocalSettings.Values["Remove_fav_properties_list"] = App.removalList;
它编译成功但是我在运行时收到以下错误:
WinRT 信息:尝试序列化要写入应用程序数据存储的值时出错。
其他信息:不支持此类型的数据。
以下是 RemoveFavourites 类:
public class RemoveFavourites
{
public string auth_token { get; set; }
public string user_id { get; set; }
public string property_id { get; set; }
public RemoveFavourites(string auth_token, string user_id, string property_id)
{
this.auth_token = auth_token;
this.user_id = user_id;
this.property_id = property_id;
}
}
完全的例外是
“System.Exception”类型的异常发生在 mscorlib.ni.dll 中,但未在用户代码中处理 WinRT 信息:尝试序列化要写入应用程序数据存储的值时出错 附加信息:不支持这种类型的数据。 尝试序列化要写入应用程序数据存储的值时出错 如果有这个异常的处理程序,程序可以安全地继续。
【问题讨论】:
-
您应该能够获取内部异常详细信息以检查哪个属性
RemoveFavourites类未成功序列化。有些类型,比如SolidColorBrush,是不可序列化的。 -
请显示您正在使用的
T的实际类型的定义;问题可能是由特定类型引起的。请同时在配置文件中显示列表的定义。 -
感谢 nvartak 和 codor 的快速回复,我已经更新了问题。
-
你试过
App.removalList.ToArray()吗? -
是的,我做到了,它也给了我同样的错误。
标签: c# .net list windows-phone-8.1