public static ConfigurationBuilder <TInterface> UseCommandLineArgs <TInterface>(this ConfigurationBuilder <TInterface> builder,
                                                                                 bool isCaseSensitive = false,
                                                                                 string[] args        = null,
                                                                                 params KeyValuePair <string, int>[] parameterNameToPosition)
     where TInterface : class
 {
     builder.UseConfigStore(new CommandLineConfigStore(args, isCaseSensitive, parameterNameToPosition));
     return(builder);
 }
 /// <summary>
 /// Uses system environment variables
 /// </summary>
 public static ConfigurationBuilder <TInterface> UseEnvironmentVariables <TInterface>(this ConfigurationBuilder <TInterface> builder) where TInterface : class
 {
     builder.UseConfigStore(new EnvironmentVariablesStore());
     return(builder);
 }
 /// <summary>
 /// Standard app.config (web.config) builder store. Read-only.
 /// </summary>
 public static ConfigurationBuilder <TInterface> UseAppConfig <TInterface>(this ConfigurationBuilder <TInterface> builder) where TInterface : class
 {
     builder.UseConfigStore(new AppConfigStore());
     return(builder);
 }
 /// <summary>
 /// Reads builder from the .dll.config or .exe.config file.
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="assembly">Reference to the assembly to look for</param>
 /// <returns></returns>
 public static ConfigurationBuilder <TInterface> UseAssemblyConfig <TInterface>(this ConfigurationBuilder <TInterface> builder, Assembly assembly) where TInterface : class
 {
     builder.UseConfigStore(new AssemblyConfigStore(assembly));
     return(builder);
 }
 /// <summary>
 /// In-memory dictionary. Optionally you can pass pre-created dictionary, otherwise it will be created internally as empty.
 /// </summary>
 public static ConfigurationBuilder <TInterface> UseInMemoryDictionary <TInterface>(this ConfigurationBuilder <TInterface> builder,
                                                                                    IDictionary <string, string> container = null) where TInterface : class
 {
     builder.UseConfigStore(new DictionaryConfigStore(container));
     return(builder);
 }