public ConfigurationFactory(IConfiguration configuration, IConfigurationOptions configurationOptions, IResolver <IKeyName> keyNameResolver, IResolver <IConfigurationReader> configurationReaderResolver, IResolver <IParser> parserResolver, IResolver <IValueConstructor> valueConstructorResolver, IConfigLogger configLogger = null) { _configuration = configuration .EnsureNotNull(nameof(configuration)); _configurationOptions = configurationOptions .EnsureNotNull(nameof(configurationOptions)); _keyNameResolver = keyNameResolver .EnsureNotNull(nameof(keyNameResolver)); _configurationReaderResolver = configurationReaderResolver .EnsureNotNull(nameof(configurationReaderResolver)); _parserResolver = parserResolver .EnsureNotNull(nameof(parserResolver)); _valueConstructorResolver = valueConstructorResolver .EnsureNotNull(nameof(valueConstructorResolver)); StaticLoggingHelper.ConfigLogger = configLogger; }