我正在尝试在手机ApplicationSettings中保存两个对象列表,但我遇到了一个奇怪的问题(但可能是我在某个地方犯了一个愚蠢的错误)。
如果我只保存其中一个列表,它可以正常运行 - 它将保存它,并在下次启动应用程序时重新加载它。 但是,如果我尝试保存2个列表,它们似乎都没有正确保存。没有错误或任何东西,只是“空白”。
见下面的代码。
//My save method
public void Gem()
{
var settings = IsolatedStorageSettings.ApplicationSettings;
if (settings.Contains(INDTASTNINGER_LIST))
{
settings[INDTASTNINGER_LIST] = _indtastningsListe;
}
else
settings.Add(INDTASTNINGER_LIST, _indtastningsListe);
if (settings.Contains(INDTASTNINGER_LIST2))
{
settings[INDTASTNINGER_LIST2] = _indtastningsListe2;
}
else
settings.Add(INDTASTNINGER_LIST2, _indtastningsListe2);
settings.Save();
}
//Constructor supposed to load settings
public Indtastninger()
{
var settings = IsolatedStorageSettings.ApplicationSettings;
if (settings.Contains(INDTASTNINGER_LIST))
{
_indtastningsListe = null;
_indtastningsListe = (List<Indtastning>)settings[INDTASTNINGER_LIST];
}
if (settings.Contains(INDTASTNINGER_LIST2))
{
_indtastningsListe2 = null;
_indtastningsListe2 = (List<Indtastning>)settings[INDTASTNINGER_LIST2];
}
}
我做错了什么? 如果我用“list2”注释掉部分,第一个将被完美地保存/检索。
答案 0 :(得分:2)
前段时间我遇到过同样的问题,问题是你只能保存XML序列化的IsolatedStorage对象。
如果您保存其他对象,它甚至可以使用调试器,但是当重新启动应用程序时,所有保存的数据都将丢失。