我知道我可以在 AppConfig
中定义变量(键值)并在我的 C#
代码中使用它。但是,问题是:是否可以在 AppConfig
中定义变量并在 AppConfig
中使用它(类似于全局常量)?
例如,
address = "8.8.8.8"
...
url = "jdbc..$address..."
...
最佳答案
不,你不能随心所欲地直接去做。
然而,您可以做的是自己解析代码中的值,并在配置文件中查找其他变量。像这样:
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其他想法和建议
关于c# - 在 AppConfig 中定义变量 - 在此文件中使用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42572068/