我有一些字符串常量,我需要从多个文件访问。由于这些常量的值可能会不时变化,因此我决定将它们放在AppSettings中而不是常量类中,以便每次更改常量时都不必重新编译。C#AppSettings数组
有时我需要使用单个字符串,有时我需要一次处理所有字符串。我想要做这样的事情:
<?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
已发布的回覆。请看看,让我知道,如果这种方法适合你 –