예제 #1
0
        public virtual T GetConfig <T>(string configKey)
        {
            if (configKey == null)
            {
                throw new ArgumentNullException(nameof(configKey));
            }

            if (Configs == null)
            {
                throw new InvalidOperationException("App environment is not valid");
            }

            EnvironmentConfig config = Configs.SingleOrDefault(c =>
                                                               string.Equals(c.Key, configKey, StringComparison.OrdinalIgnoreCase));

            if (config == null)
            {
                throw new InvalidOperationException($"No config found named {configKey} in app environment named {Name}");
            }

            return((T)config.Value);
        }
예제 #2
0
        public virtual T GetConfig <T>(string configKey, T defaultValueOnNotFound)
        {
            if (configKey == null)
            {
                throw new ArgumentNullException(nameof(configKey));
            }

            if (Configs == null)
            {
                throw new InvalidOperationException("App environment is not valid");
            }

            EnvironmentConfig config = Configs.SingleOrDefault(c =>
                                                               string.Equals(c.Key, configKey, StringComparison.OrdinalIgnoreCase));

            if (config == null)
            {
                return(defaultValueOnNotFound);
            }
            else
            {
                return((T)config.Value);
            }
        }