Class TemplateExtensions
配置模板扩展方法
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
cfgICfgRoot配置根
keysIEnumerable<string>配置键列表
Returns
- IReadOnlyDictionary<string, string>
解析后的键值对字典
GetResolved(ICfgRoot, string)
获取解析变量后的配置值
public static string? GetResolved(this ICfgRoot cfg, string key)
Parameters
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
cfgICfgRoot配置根
keystring配置键
optionsVariableResolutionOptions解析选项
Returns
- string
解析后的值
GetResolved<T>(ICfgRoot, string)
获取解析变量后的配置值,并转换为指定类型
public static T? GetResolved<T>(this ICfgRoot cfg, string key)
Parameters
Returns
- T
解析并转换后的值
Type Parameters
T目标类型
ResolveVariables(ICfgRoot, string?)
解析字符串中的变量
public static string? ResolveVariables(this ICfgRoot cfg, string? template)
Parameters
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
cfgICfgRoot配置根
templatestring模板字符串
optionsVariableResolutionOptions解析选项
Returns
- string
解析后的字符串
TryGetResolved(ICfgRoot, string, out string?)
尝试获取解析变量后的配置值
public static bool TryGetResolved(this ICfgRoot cfg, string key, out string? value)
Parameters
Returns
- bool
是否成功获取
TryGetResolved<T>(ICfgRoot, string, out T?)
尝试获取解析变量后的配置值,并转换为指定类型
public static bool TryGetResolved<T>(this ICfgRoot cfg, string key, out T? value)
Parameters
Returns
- bool
是否成功获取
Type Parameters
T目标类型