33 #region Private Fields
39 private SettingsProvider _currentSettingsProvider;
42 private bool _initialized;
45 private string _initializedName;
48 private NameValueCollection _initializedConfig;
49 #endregion Private Fields
51 private SettingsProvider CurrentSettingsProvider
56 return _currentSettingsProvider;
58 Debug.WriteLine($
"{nameof(SharedSettingsProvider)} - Creating {_currentSettingsLocation} settings provider");
59 switch (_currentSettingsLocation)
62 _currentSettingsProvider =
new RegistrySettingsProvider();
65 _currentSettingsProvider =
new LocalFileSettingsProvider();
68 throw new ArgumentOutOfRangeException();
71 _currentSettingsProvider.Initialize(_initializedName, _initializedConfig);
72 return _currentSettingsProvider;
77 public override string Name => CurrentSettingsProvider.Name;
80 public override string Description => CurrentSettingsProvider.Description;
85 get => CurrentSettingsProvider.ApplicationName;
86 set => CurrentSettingsProvider.ApplicationName = value;
103 public override void Initialize(
string name, NameValueCollection config)
105 _initializedName = name;
106 _initializedConfig = config;
110 if(_currentSettingsProvider !=
null && !_initialized)
111 _currentSettingsProvider.Initialize(_initializedName, _initializedConfig);
120 public override SettingsPropertyValueCollection
GetPropertyValues(SettingsContext context, SettingsPropertyCollection collection)
122 return CurrentSettingsProvider.GetPropertyValues(context, collection);
129 public override void SetPropertyValues(SettingsContext context, SettingsPropertyValueCollection collection)
131 CurrentSettingsProvider.SetPropertyValues(context, collection);