Ich habe einige String-Konstanten, auf die ich aus mehreren Dateien zugreifen muss. Da sich die Werte dieser Konstanten von Zeit zu Zeit ändern können, habe ich beschlossen, sie in AppSettings anstatt in eine Konstantenklasse zu setzen, damit ich nicht jedes Mal neu kompilieren muss, wenn ich eine Konstante ändere.C# AppSettings Array
Manchmal muss ich mit den einzelnen Strings arbeiten und manchmal muss ich mit allen gleichzeitig arbeiten. Ich möchte so etwas wie dies tun:
<?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>
Die Argumentation ist, dass ich dann in der Lage sein würde Dinge zu tun wie
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"]];
//...
}
Gibt es eine Möglichkeit, dies zu tun? Ich bin ziemlich neu und ich gebe zu, dass das Horror-Design sein könnte.
was für foo Methode? –
@AkashKC Es ist nur eine Methode, die eine Zeichenfolge als Argument verwendet. Die Idee ist, dass ich für jede Konstante etwas, das von dieser Konstante abhängt, zum Wörterbuch hinzufüge. – Liam
Gepostet Antwort. Bitte schauen Sie und lassen Sie mich wissen, ob der Ansatz für Sie funktioniert oder nicht –