2017-03-03 10 views
2

変数(キー値)をAppConfigに定義して、C#コードに使用することができます。しかし、問題は:AppConfigに変数を定義し、それをAppConfig(グローバル定数のようなもの)で使用できるかどうかです。例えばAppConfigで変数を定義する -

あなたが好きな、

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

答えて

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もご覧ください。

関連する問題