Table of Contents

Class CfgBuilderTemplateExtensions

Namespace
Apq.Cfg
Assembly
Apq.Cfg.dll

CfgBuilder 模板扩展方法

public static class CfgBuilderTemplateExtensions
Inheritance
CfgBuilderTemplateExtensions
Inherited Members

Methods

AddVariableResolver(CfgBuilder, IVariableResolver)

添加自定义变量解析器

public static CfgBuilder AddVariableResolver(this CfgBuilder builder, IVariableResolver resolver)

Parameters

builder CfgBuilder

配置构建器

resolver IVariableResolver

变量解析器

Returns

CfgBuilder

配置构建器实例,支持链式调用

Examples

var cfg = new CfgBuilder()
    .AddJsonFile("config.json", level: 0)
    .AddVariableResolver(new CustomResolver())
    .Build();

ConfigureVariableResolution(CfgBuilder, Action<VariableResolutionOptions>)

启用变量解析功能

public static CfgBuilder ConfigureVariableResolution(this CfgBuilder builder, Action<VariableResolutionOptions> configure)

Parameters

builder CfgBuilder

配置构建器

configure Action<VariableResolutionOptions>

配置选项委托

Returns

CfgBuilder

配置构建器实例,支持链式调用

Examples

var cfg = new CfgBuilder()
    .AddJsonFile("config.json", level: 0)
    .ConfigureVariableResolution(options =>
    {
        options.MaxRecursionDepth = 5;
        options.UnresolvedBehavior = UnresolvedVariableBehavior.Throw;
    })
    .Build();

// 使用解析后的值
var logPath = cfg.GetResolved("App:LogPath");

Remarks

启用后,可以使用 GetResolved() 方法获取解析变量后的配置值。 此方法主要用于配置自定义解析选项,如果使用默认选项,可以直接调用 GetResolved()。