Windows 8 - 在Windows.Storage.ApplicationData.Current.LocalSettings中存储通用列表?

时间:2012-10-25 23:51:06

标签: c# windows windows-runtime settings

在Windows.Storage.ApplicationData.Current.LocalSettings.Values数组中存储List是否有技巧?我尝试添加一个,它说不支持数据类型。

  

WinRT信息:尝试序列化要写入的值时出错   到应用程序数据存储

     

其他信息:不支持此类型的数据。

当我使用Silverlight本地设置存储时,此代码工作正常。我需要帮助api序列化我的对象吗?列表中的对象只有一些公共属性,包括简单的整数和字符串。

我正在尝试存储

List<Animal> 

,其中

public class Animal
{
   public string Name { get; set; }
   public int Age { get; set; }
}

2 个答案:

答案 0 :(得分:0)

我使用StorageHelper来存储数据,这让它变得非常简单,让它旋转。

感谢@JerryNixon

答案 1 :(得分:0)

我遇到了同样的问题,最终保存并恢复了一个数组,将我的List转换为数组和从数组转换。

因此,在您的情况下,在整个应用程序中使用List(因为它更容易)但保存和恢复Animal []到LocalSettings。

需要注意的另一个问题是你的数组不能为null或为空,因此请为该情况设置一个虚拟动物,并在保存和恢复代码中识别它。