protected ApplicationDataContainer GetSettingsContainer(ConfigurationContainer container)
{
ApplicationDataContainer settings = null;
lock (_containerCache)
{
if (!_containerCache.TryGetValue(container, out settings))
{
switch (container)
{
case ConfigurationContainer.Local:
settings = ApplicationData.Current.LocalSettings;
break;
case ConfigurationContainer.Roaming:
settings = ApplicationData.Current.RoamingSettings;
break;
default:
throw new ArgumentOutOfRangeException("container");
}
_containerCache[container] = settings;
}
}
return settings;
}
}