我想找到合適的結構來存儲一些全局變量。我基本上有兩組類似的變量按照選項A/B分組。 A和B之間的選擇是通過app.config完成的。該數據具有以下結構:多維混合數組vs靜態類vs其他任何東西?
[OptionA][VAR1] = "myValue1OptionA"
[OptionA][VAR2] = {'a','b','c'}
[OptionA][VAR3] = 3
[OptionB][VAR1] = "myValue1OptionB"
[OptionB][VAR2] = {'a','b','c','d','e'}
[OptionB][VAR3] = 120
我可以使用字典,元組爲指標,但它使用的變量時,是在鑄造長期有點沉重:
private static GlobalVar<Tuple<string, string>, var> instances =
new Dictionary<Tuple<string, string>, var>(){
{Tuple.Create("OptionA","VAR1"), "myValue1OptionA"},
{Tuple.Create("OptionA","VAR2"), {'a','b','c'}},
{Tuple.Create("OptionA","VAR3"), 3},
{Tuple.Create("OptionB","VAR1"), "myValue1OptionB"},
{Tuple.Create("OptionB","VAR2"), {'a','b','c','d','e'}},
{Tuple.Create("OptionB","VAR3"), 120},
};
我想起了2靜態類,但檢索值和轉換也有點麻煩。
static class GlobalVarOptionA
{
static string VAR1 = "myValue1OptionA";
static char[] VAR2 = {'a','b','c'};
static int VAR3 = 3;
}
static class GlobalVarOptionB
{
static string VAR1 = "myValue1OptionB";
static char[] VAR2 = {'a','b','c','d','e'};
static int VAR3 = 120;
}
用法應該是這樣的:
Type t = Type.GetType("GlobalVarOptionB");
var pinfo = t.GetProperties(BindingFlags.Static | BindingFlags.Public);
任何幫助/建議將不勝感激。
感謝您的反饋。我做了這個:-) – Salim