XML序列化独立存储的Pushpin

本文关键字:Pushpin 存储 独立 序列化 XML | 更新日期: 2023-09-27 18:22:05

我正在研究隔离存储,并且已经成功地将对象存储在其中,现在我正在尝试将Pushpin存储在隔离存储中。我直接复制了我用来序列化对象并存储它的方法

using (IsolatedStorageFileStream stream = IsolatedStorageFile
    .GetUserStoreForApplication().OpenFile("home.xml", FileMode.Create))
{
    XmlSerializer serializer = new XmlSerializer(typeof(List<Pushpin>));
    using (XmlWriter writer = XmlWriter.Create(stream, settings))
    {
        serializer.Serialize(stream, p);
    }
}

其中p是一个图钉,它抛出的错误是

反映类型Pushpin时出错。

我可以廉价地创建一个类来存储Lat/Long,存储它并重新创建图钉,但我想理解/弄清楚为什么我不能序列化这个对象。

我的最终目标是永久存储一个图钉列表,这样用户就可以跟踪他们的行程——这只是帮助我学习Bing地图和隔离存储的东西。

XML序列化独立存储的Pushpin

Pushpin类不是为可序列化而设计的,因此会出现问题。最好的选择是创建一个存储图钉信息的对象,并根据该数据重新生成图钉。如果您正在使用MVVM,则为图钉存储您的视图模型。