複数のファイルからアクセスする必要がある文字列定数があります。これらの定数の値は時々変更される可能性があるので、定数を変更するたびに再コンパイルする必要がないように、それらを定数クラスではなくAppSettingsに入れることにしました。C#AppSettings array
時には私は個々の文字列を扱う必要があり、時にはそれらを一度にすべて処理する必要がある場合もあります。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="CONST1" value="Hi, I'm the first constant." />
<add key="CONST2" value="I'm the second." />
<add key="CONST3" value="And I'm the third." />
<add key="CONST_ARR" value=[CONST1, CONST2, CONST3] />
</appSettings>
</configuration>
私はその後、
public Dictionary<string, List<double>> GetData(){
var ret = new Dictionary<string, List<double>>();
foreach(string key in ConfigurationManager.AppSettings["CONST_ARR"])
ret.Add(key, foo(key));
return ret;
}
//...
Dictionary<string, List<double>> dataset = GetData();
public void ProcessData1(){
List<double> data = dataset[ConfigurationManager.AppSettings["CONST1"]];
//...
}
のようなものを行うことができるでしょうということで推論はこれを行う方法があります:私はこのような何かをしたいのですが?私はこれにかなり新しいです、そして、私はこれが恐ろしいデザインかもしれないことを認めます。
fooメソッドのために何ですか? –
@AkashKCそれは文字列を引数として取る単純な方法です。アイデアは、各定数に対して、その定数に依存するものを辞書に追加することです。 – Liam
投稿された回答。あなたのためにアプローチが有効であるかどうかを見て、私に知らせてください –