/// <summary> /// Returns the value of the setting name <paramref name="key"/> as a /// <c>T</c> instance. /// </summary> /// <typeparam name="T">The type needed by the user.</typeparam> /// <param name="key">The name of the setting.</param> /// <param name="defaultValue">The default value.</param> /// <returns> /// returns the setting value as a <c>T</c> instance or <paramref /// name="defaultValue"/> if the key does not exist. /// </returns> public T Get <T>(string key, T defaultValue) { if (string.IsNullOrEmpty(key)) { throw new ArgumentNullException("key"); } string result = null; if (_settings.ContainsKey(key)) { result = _settings[key]; } return((result == null) ? defaultValue : SettingConverter.GetTFromString <T>(result)); }
/// <summary> /// Sets the value of the setting name <paramref name="key"/>. If the setting /// does not exist, it is created. /// </summary> /// <typeparam name="T">The type of the setting being saved.</typeparam> /// <param name="key">The name of the setting.</param> /// <param name="value">The value to save in this section.</param> public void Set <T>(string key, T value) { if (string.IsNullOrEmpty(key)) { throw new ArgumentNullException("key"); } if (_settings.ContainsKey(key)) { _settings[key] = SettingConverter.GetStringFromT(value); } else { _settings.Add(key, SettingConverter.GetStringFromT(value)); } PropertyChanged.Raise(this, new PropertyChangedEventArgs(key)); }