public static T GetDefaultConfig <T>(IConfigSchema schema, string settingName)
        {
            ConfigurationProperty configurationProperty = schema.GetConfigurationProperty(settingName, typeof(T));
            object defaultConfigValue = schema.GetDefaultConfigValue(configurationProperty);

            return(ConfigSchemaBase.ConvertValue <T>(schema, settingName, defaultConfigValue));
        }
        public bool TryGetConfig <T>(ISettingsContext context, string settingName, out T settingValue)
        {
            base.CheckDisposed();
            object rawValue;

            if (this.TryGetBoxedSettingFromDrivers(context, settingName, typeof(T), out rawValue))
            {
                settingValue = ConfigSchemaBase.ConvertValue <T>(this.schema, settingName, rawValue);
                return(true);
            }
            settingValue = default(T);
            return(false);
        }