我正在尝试在IsolatedStorage中存储Reminder。它在运行时工作,但如果我重新启动应用程序,所有数据都将消失。
这里有一些代码可以取笑:
private IsolatedStorageSettings userSettings = IsolatedStorageSettings.ApplicationSettings;
private List<ScheduledAction> getStorage()
{
if (!userSettings.Contains("notifications"))
{
userSettings.Add("notifications", new List<ScheduledAction>());
}
return (List<ScheduledAction>)userSettings["notifications"];
}
private void saveStorage(List<ScheduledAction> list)
{
userSettings["notifications"] = list;
}
private void test()
{
List<ScheduledAction> list = getStorage();
Reminder alarm = new Reminder("name");
list.Add(alarm);
saveStorage(list);
}
我当前猜测未存储对象的原因是Reminder
不可序列化。由于这不是我的目标,我该怎么办呢?
答案 0 :(得分:1)
每当我们在IsolatedStorageSettings.Save Method 中添加或更新时,都需要在应用程序退出之前保存。我对你的代码做了一点改动,这可能对你有帮助。
private List<ScheduledAction> getStorage()
{
if (!userSettings.Contains("notifications"))
{
userSettings.Add("notifications", new List<ScheduledAction>());
userSettings.Save();
}
return (List<ScheduledAction>)userSettings["notifications"];
}
private void saveStorage(List<ScheduledAction> list)
{
userSettings["notifications"] = list;
userSettings.Save();
}