Универсальные приложения для сохранения и загрузки настроек
У меня проблема с настройками сохранения и загрузки в универсальных приложениях. Я набираю этот код:
enter class Setting
{
public static Kolor Read()
{
var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
byte _red = (byte)localSettings.Values["R"];
byte _green = (byte)localSettings.Values["G"];
byte _blue = (byte)localSettings.Values["B"];
return new Kolor(_red, _green, _blue);
}
public static void Save(Kolor kolor)
{
var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
localSettings.Values["R"] = kolor.R;
localSettings.Values["G"] = kolor.G;
localSettings.Values["B"] = kolor.B;
}
}
Когда я пытаюсь запустить приложения, отладчик показывает мне NullReferenceException в:
enter byte _red = (byte)localSettings.Values["R"];
Кто-то может мне помочь?
1 ответ
Я думаю, что ваша проблема исходит от значения, которое не существует в LocalSettings
, так что сначала проверьте, что он существует.
public static Kolor Read()
{
byte _red = GetByte("R");
byte _green = GetByte("G");
byte _blue = GetByte("B");
return new Kolor(_red, _green, _blue);
}
private static byte GetByte(string key)
{
if (!ApplicationData.Current.LocalSettings.Values.ContainsKey(key))
{
return default(byte);
}
return (byte)(ApplicationData.Current.LocalSettings.Values[key]);
}