Skip to content

CfgBuilder

The fluent API builder for creating configuration instances.

Constructor

csharp
public CfgBuilder()

Methods

AddJson

Add a JSON configuration source.

csharp
public CfgBuilder AddJson(
    string path,
    int level = CfgSourceLevels.Json,  // default 0
    bool writeable = false,
    bool optional = true,
    bool reloadOnChange = true,
    bool isPrimaryWriter = false,
    EncodingOptions? encoding = null,
    string? name = null)

AddYaml

Add a YAML configuration source (requires Apq.Cfg.Yaml).

csharp
public static CfgBuilder AddYaml(
    this CfgBuilder builder,
    string path,
    int level = CfgSourceLevels.Yaml,  // default 0
    bool writeable = false,
    bool optional = true,
    bool reloadOnChange = true,
    bool isPrimaryWriter = false)

AddEnvironmentVariables

Add environment variables as a configuration source.

csharp
public CfgBuilder AddEnvironmentVariables(
    int level = CfgSourceLevels.EnvironmentVariables,  // default 400
    string? prefix = null,
    string? name = null)

AddSource

Add a custom configuration source.

csharp
public CfgBuilder AddSource(ICfgSource source, string? name = null)

ConfigureEncodingMapping

Configure encoding detection rules.

csharp
public CfgBuilder ConfigureEncodingMapping(
    Action<EncodingMappingConfig> configure)

Build

Build the configuration instance.

csharp
public ICfgRoot Build()

Example

csharp
var cfg = new CfgBuilder()
    .AddJsonFile("config.json", level: 0, writeable: false)
    .AddJsonFile("config.local.json", level: 1, writeable: true, optional: true)
    .AddEnvironmentVariables(level: 2, prefix: "APP_")
    .Build();

Next Steps

Released under the MIT License