如何在本地设置中存储List <t>?

时间:2015-12-16 09:47:46

标签: c# .net list windows-phone-8.1

目前我使用以下方法存储成功编译的数据

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;
    }
}

,完整的例外是

  

mscorlib.ni.dll中出现“System.Exception”类型的异常,但未在用户代码中处理   WinRT信息:尝试序列化要写入应用程序数据存储的值时出错   附加信息:不支持此类型的数据。   尝试序列化要写入应用程序数据存储的值时出错   如果存在此异常的处理程序,则可以安全地继续该程序。

1 个答案:

答案 0 :(得分:4)

您无法在应用设置中存储复杂对象。 (reference

尝试序列化对象(可能使用自己实现的json或自定义序列化方式),然后存储数据。