Table of Contents

Class ConfigUtilsExtensions

Namespace
Tlabs.Config
Assembly
Tlabs.Core.dll

Configuration extensions.

public static class ConfigUtilsExtensions
Inheritance
ConfigUtilsExtensions
Inherited Members

Fields

DEFAULT_JSON_BASE_FILENAME

Base settings file name.

public const string DEFAULT_JSON_BASE_FILENAME = "appsettings"

Field Value

string

XCFG_SECTION

Config extension section.

public const string XCFG_SECTION = "configExtensions"

Field Value

string

Methods

AddApplicationConfig(IConfigurationBuilder, string?, string?, string[]?, string?)

Add application configuration to builderIConfigurationBuilder.

public static IConfigurationBuilder AddApplicationConfig(this IConfigurationBuilder builder, string? baseJsonFile = null, string? env = null, string[]? cmdArgs = null, string? envVarPrefix = null)

Parameters

builder IConfigurationBuilder
baseJsonFile string
env string
cmdArgs string[]
envVarPrefix string

Returns

IConfigurationBuilder

Remarks

The application configuration is loaded from

- baseJsonFile (AddJsonConfig(IConfigurationBuilder, string?, string?)) or none if baseJsonFile == ""

- environment variables with envVarPrefix (optional)

- cmdArgs (optional)

AddJsonConfig(IConfigurationBuilder, string?, string?)

Add JSON configuration to builderIConfigurationBuilder.

public static IConfigurationBuilder AddJsonConfig(this IConfigurationBuilder builder, string? baseJsonFile = null, string? env = null)

Parameters

builder IConfigurationBuilder
baseJsonFile string
env string

Returns

IConfigurationBuilder

Remarks

JSON configuration is loaded from

- {path}/{basename}.json (required)

- {path}/{basename}.{resolved-ENV-variable}.json (optional)

AddJsonConfig(IConfigurationBuilder, string, string, string?)

Add JSON configuration to builderIConfigurationBuilder.

public static IConfigurationBuilder AddJsonConfig(this IConfigurationBuilder builder, string baseName, string path, string? env = null)

Parameters

builder IConfigurationBuilder
baseName string
path string
env string

Returns

IConfigurationBuilder

Remarks

JSON configuration is loaded from

- {path}/{basename}.json (required)

- {path}/{basename}.{resolved-ENV-variable}.json (optional)

appsettings.Development.json appsettings.Azure.json

ApplyConfigurators<T>(T, IConfiguration, string?)

Apply section configurators to T.

public static T ApplyConfigurators<T>(this T target, IConfiguration config, string? subSectionName = null)

Parameters

target T
config IConfiguration
subSectionName string

Returns

T

Type Parameters

T

LoadJson(string, string, string?)

Load IConfigurationBuilder form json file.

public static IConfigurationBuilder LoadJson(string baseName, string path, string? env = null)

Parameters

baseName string
path string
env string

Returns

IConfigurationBuilder

ToConfiguration(IReadOnlyDictionary<string, string?>)

Convert dictionary into IConfiguration.

public static IConfiguration ToConfiguration(this IReadOnlyDictionary<string, string?> dict)

Parameters

dict IReadOnlyDictionary<string, string>

Returns

IConfiguration

ToConfigurationBuilder(IConfigurationSection)

Convert section into new IConfigurationBuilder.

public static IConfigurationBuilder ToConfigurationBuilder(this IConfigurationSection section)

Parameters

section IConfigurationSection

Returns

IConfigurationBuilder

ToDictionary(IConfiguration, bool)

Convert config into flattened dictionary.

public static Dictionary<string, string?> ToDictionary(this IConfiguration config, bool stripSectionPath = true)

Parameters

config IConfiguration

Configuration (section)

stripSectionPath bool

if true (default) and config is section, strips off the section path from keys

Returns

Dictionary<string, string>

ToNestedDictionary(IConfiguration)

Convert config into nested dictionary.

public static Dictionary<string, object> ToNestedDictionary(this IConfiguration config)

Parameters

config IConfiguration

Configuration (section)

Returns

Dictionary<string, object>