如何存储List<;T>;在本地设置中

本文关键字:gt 设置 lt 何存储 存储 List | 更新日期: 2023-09-27 18:27:03

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

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信息:尝试序列化要写入应用程序数据存储的值时出错
其他信息:不支持此类型的数据

以下是RemoveFavorites类:

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信息:尝试序列化要写入应用程序数据存储的值时出错附加信息:不支持此类型的数据。尝试序列化要写入应用程序数据存储的值时出错如果存在此异常的处理程序,则程序可以安全地继续运行。

如何存储List<;T>;在本地设置中

您不能在应用程序设置中存储复杂的对象。(参考)

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