Example #1
0
        public static T Get <T>(this ISettingsProvider settingsProvider, object id = null) where T : SettingsObject
        {
            SettingsObject settings = null;

            if (!settingsProvider.ContainsSetting(typeof(T), id))
            {
                settings = settingsProvider.NewSetting(typeof(T), id) as T;
                if (settings == null)
                {
                    throw new Exception(string.Format("Settings provider did not create a settings object of requested type '{0}'", typeof(T).FullName));
                }

                if (settingsProvider.AutoSaveNewSettings)
                {
                    settingsProvider.SaveSetting(settings);
                }

                return((T)settings);
            }
            settings = settingsProvider.LoadSetting(typeof(T), id) as T;
            if (settings == null)
            {
                throw new Exception(string.Format("Settings provider did not load a settings object of requested type '{0}'", typeof(T).FullName));
            }
            return((T)settings);
        }
Example #2
0
        public static bool Has <T>(this ISettingsProvider settingsProvider, object id = null) where T : SettingsObject
        {
            SettingsObject settings = null;

            return(settingsProvider.ContainsSetting(typeof(T), id));
        }