public static MultiSourceKeyValueConfiguration Build( [NotNull] this AppSettingsBuilder appSettingsBuild, Action <string>?logAction = null) { if (appSettingsBuild is null) { throw new ArgumentNullException(nameof(appSettingsBuild)); } var multiSourceKeyValueConfiguration = new MultiSourceKeyValueConfiguration(new DecoratorDelegator(appSettingsBuild), logAction); return(Initialize(multiSourceKeyValueConfiguration, logAction)); }
public static AppSettingsDecoratorBuilder DecorateWith( [NotNull] this AppSettingsBuilder builder, [NotNull] IKeyValueConfigurationDecorator decorator) { if (builder is null) { throw new ArgumentNullException(nameof(builder)); } if (decorator is null) { throw new ArgumentNullException(nameof(decorator)); } return(new AppSettingsDecoratorBuilder(builder, decorator)); }
/// <summary> /// Add new configuration, last one wins /// </summary> /// <param name="appSettingsBuilder"></param> /// <param name="keyValueConfiguration"></param> /// <returns></returns> public static AppSettingsBuilder Add( [NotNull] this AppSettingsBuilder appSettingsBuilder, [NotNull] IKeyValueConfiguration keyValueConfiguration) { if (appSettingsBuilder is null) { throw new ArgumentNullException(nameof(appSettingsBuilder)); } if (keyValueConfiguration is null) { throw new ArgumentNullException(nameof(keyValueConfiguration)); } return(new AppSettingsBuilder(keyValueConfiguration, appSettingsBuilder)); }