【发布时间】:2017-07-23 03:52:35
【问题描述】:
我知道我可以在AppConfig 中定义变量(键值)并在我的C# 代码中使用它。但是,问题是:是否可以在AppConfig 中定义变量并在AppConfig 中使用它(类似于全局常量)?
例如,
address = "8.8.8.8"
...
url = "jdbc..$address..."
...
【问题讨论】:
标签: c# app-config
我知道我可以在AppConfig 中定义变量(键值)并在我的C# 代码中使用它。但是,问题是:是否可以在AppConfig 中定义变量并在AppConfig 中使用它(类似于全局常量)?
例如,
address = "8.8.8.8"
...
url = "jdbc..$address..."
...
【问题讨论】:
标签: c# app-config
不,你不能随心所欲地直接做。
但是,您可以做的是自己解析代码中的值并在配置文件中查找其他变量。像这样:
public string GetFromConfigWithVars(string key)
{
string value = ConfigurationManager.AppSettings[key];
foreach (string var in value.Split('{', '}'))
{
string val = ConfigurationManager.AppSettings[var];
value = value.Replace($"{{{var}}}", val);
}
return value;
}
然后,你可以有这样的配置:
<appSettings>
<add key="var1" value="First"/>
<add key="var2" value="Last"/>
<add key="myKey" value="{var1}----{var2}"/>
</appSettings>
并在代码中调用它:string myValue = this.GetFromConfigWithVars("myKey")
这将回馈:First----Last
您也可以查看here 以获得其他想法和建议
【讨论】: