【问题标题】:Defining variable in AppConfig - using them within this file在 AppConfig 中定义变量 - 在此文件中使用它们
【发布时间】:2017-07-23 03:52:35
【问题描述】:

我知道我可以在AppConfig 中定义变量(键值)并在我的C# 代码中使用它。但是,问题是:是否可以在AppConfig 中定义变量并在AppConfig 中使用它(类似于全局常量)?

例如,

address = "8.8.8.8"
...
url = "jdbc..$address..."
...

【问题讨论】:

    标签: c# app-config


    【解决方案1】:

    不,你不能随心所欲地直接做。

    但是,您可以做的是自己解析代码中的值并在配置文件中查找其他变量。像这样:

    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 以获得其他想法和建议

    【讨论】:

      猜你喜欢
      • 2015-08-04
      • 2018-08-04
      • 2017-09-21
      • 1970-01-01
      • 2018-12-10
      • 1970-01-01
      • 2013-01-08
      • 1970-01-01
      • 2021-04-25
      相关资源
      最近更新 更多