【问题标题】:retrieving list from isolated storage从隔离存储中检索列表
【发布时间】:2013-08-02 12:44:26
【问题描述】:

我正在尝试将自定义类的列表保存到isolatedstoragesettings,但它要么没有正确保存,要么没有正确检索,我不确定出了什么问题,

类:

[DataContract()]
public class Object
{
    public int ID { get; set; }
    public bool IsDeleted { get; set; }
    public bool IsActive { get; set; }
    public string Title { get; set; }
    public string Author { get; set; }
    public string Synopsis { get; set; }
    public string Body { get; set; }
    public string ImageUrl { get; set; }
    public string CreationDate { get; set; }
    public string LastUpdateDate { get; set; }
    public string DisplayUntilDate { get; set; }
    public int TotalViews { get; set; }
    public Gallery Gallery { get; set; }
}

那我就用这个来保存

 List<Object> to_save = new List<Object>();

//填充对象列表,这可以正常工作,它只是创建了一个很大的对象列表 那么

 var settings = IsolatedStorageSettings.ApplicationSettings;
   //save to_save to isolated storage
            settings.Add("Stories", to_save);
            settings.Save();

然后当我尝试检索它时:

//从隔离存储中获取详细信息

        var settings = IsolatedStorageSettings.ApplicationSettings;
        List<Object> s = settings["Stories"] as List<Object>;

它只给了我两个都是空的项目,我认为我做错了序列化,但我不知道正确的方法,有人可以帮忙吗?

编辑:

好的,我已经为每个字段添加了数据成员,现在返回的 2 项不是 null 并且包含正确的值,但是它不是整个列表,我怎样才能检索整个列表,而不是只有 2 项?

【问题讨论】:

    标签: c# list serialization windows-phone isolatedstorage


    【解决方案1】:

    你必须有强类型对象才能序列化,因为 Windows Phone 上的序列化器相当基础。

    此外,对于隔离存储,仅使用基本数据类型,因此您的“图库”对象可能不会被序列化。

    请注意,您实际上并不需要数据协定和数据成员属性来进行简单的序列化,但不应该通过使用它来损害它。

    如果你想做更复杂的序列化,那么看看 XMLSerialiser

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多