Table of Contents

Class TemplateExtensions

Namespace
Apq.Cfg
Assembly
Apq.Cfg.dll

配置模板扩展方法

public static class TemplateExtensions
Inheritance
TemplateExtensions
Inherited Members

Methods

GetManyResolved(ICfgRoot, IEnumerable<string>)

批量获取解析变量后的配置值

public static IReadOnlyDictionary<string, string?> GetManyResolved(this ICfgRoot cfg, IEnumerable<string> keys)

Parameters

cfg ICfgRoot

配置根

keys IEnumerable<string>

配置键列表

Returns

IReadOnlyDictionary<string, string>

解析后的键值对字典

GetResolved(ICfgRoot, string)

获取解析变量后的配置值

public static string? GetResolved(this ICfgRoot cfg, string key)

Parameters

cfg ICfgRoot

配置根

key string

配置键

Returns

string

解析后的值

Examples

// 配置: { "App:Name": "MyApp", "App:LogPath": "${App:Name}/logs" }
var logPath = cfg.GetResolved("App:LogPath");
// 返回: "MyApp/logs"

GetResolved(ICfgRoot, string, VariableResolutionOptions)

获取解析变量后的配置值

public static string? GetResolved(this ICfgRoot cfg, string key, VariableResolutionOptions options)

Parameters

cfg ICfgRoot

配置根

key string

配置键

options VariableResolutionOptions

解析选项

Returns

string

解析后的值

GetResolved<T>(ICfgRoot, string)

获取解析变量后的配置值,并转换为指定类型

public static T? GetResolved<T>(this ICfgRoot cfg, string key)

Parameters

cfg ICfgRoot

配置根

key string

配置键

Returns

T

解析并转换后的值

Type Parameters

T

目标类型

ResolveVariables(ICfgRoot, string?)

解析字符串中的变量

public static string? ResolveVariables(this ICfgRoot cfg, string? template)

Parameters

cfg ICfgRoot

配置根

template string

模板字符串

Returns

string

解析后的字符串

Examples

var message = cfg.ResolveVariables("Application ${App:Name} is running on ${SYS:MachineName}");
// 返回: "Application MyApp is running on SERVER01"

ResolveVariables(ICfgRoot, string?, VariableResolutionOptions)

解析字符串中的变量

public static string? ResolveVariables(this ICfgRoot cfg, string? template, VariableResolutionOptions options)

Parameters

cfg ICfgRoot

配置根

template string

模板字符串

options VariableResolutionOptions

解析选项

Returns

string

解析后的字符串

TryGetResolved(ICfgRoot, string, out string?)

尝试获取解析变量后的配置值

public static bool TryGetResolved(this ICfgRoot cfg, string key, out string? value)

Parameters

cfg ICfgRoot

配置根

key string

配置键

value string

解析后的值

Returns

bool

是否成功获取

TryGetResolved<T>(ICfgRoot, string, out T?)

尝试获取解析变量后的配置值,并转换为指定类型

public static bool TryGetResolved<T>(this ICfgRoot cfg, string key, out T? value)

Parameters

cfg ICfgRoot

配置根

key string

配置键

value T

解析并转换后的值

Returns

bool

是否成功获取

Type Parameters

T

目标类型