public ConfigBuilderSink AddFile(string configurationFile, bool optional = false, bool reloadOnChange = false, ConfigurationFileTypes fileType = ConfigurationFileTypes.Json) { if (string.IsNullOrEmpty(configurationFile)) { throw new ArgumentNullException(nameof(configurationFile)); } switch (fileType) { case ConfigurationFileTypes.Json: _configurationBuilder.AddJsonFile(configurationFile, optional, reloadOnChange); break; case ConfigurationFileTypes.Xml: _configurationBuilder.AddXmlFile(configurationFile, optional, reloadOnChange); break; } return(this); }
/// <summary> /// Creates the ConfigBuilder Configuiration object and loads the main settings form the config manager. /// </summary> /// <param name="settingsConfig">The settings configuration.</param> /// <param name="configurationFile">Name of the file.</param> /// <param name="optional">The json settings.</param> /// <param name="fileType">Indicates the file type being used (json or xml)</param> /// <param name="reloadOnChange">Indicates if the settings should automatically reload when a file change is detected</param> /// <returns>SettingsConfiguration.</returns> /// <exception cref="System.ArgumentNullException">settingsConfig</exception> public static SettingsConfiguration ConfigBuilder(this SettingsReaderSinkConfiguration settingsConfig, string configurationFile, bool optional = false, bool reloadOnChange = false, ConfigurationFileTypes fileType = ConfigurationFileTypes.Json) { if (settingsConfig == null) { throw new ArgumentNullException(nameof(settingsConfig)); } if (string.IsNullOrEmpty(configurationFile)) { throw new ArgumentNullException(nameof(configurationFile)); } return(settingsConfig.Sink( new ConfigBuilderSink(configurationFile, optional, reloadOnChange, fileType))); }
public ConfigBuilderSink(string configurationFile, bool optional = false, bool reloadOnChange = false, ConfigurationFileTypes fileType = ConfigurationFileTypes.Json) { if (string.IsNullOrEmpty(configurationFile)) { throw new ArgumentNullException(nameof(configurationFile)); } AddFile(configurationFile, optional, reloadOnChange, fileType); }