2012-08-17 92 views
0

可能重複:
Dictionary With Value 「Variable」字典使用變量作爲值

我有我試圖去耦一些高度耦合的代碼。如果我能製作這樣的字典:

Dictionary<string, var> dict = new Dictionary<string, var> 

很多耦合可以修復。在另一個線程中的一個海報似乎已經找到了一個使用Variable類的解決方案,但是他/她沒有發佈這個類的任何細節,我想不出如何去做。

編輯:

基本上,而不是:

string transit = <string value>; 

我想能寫:

string dict["Transit"] = <string value>; 

在哪裏我已經這樣做:

Dictionary<string, var> dict = new Dictionary<string, var>() 
{ 
    {"Transit", transit} 
}; 

這可能不是不可能,但任何建議表示讚賞。

問候。

+6

很難給你一個建設性的答案沒有看到你想要的代碼解耦 - 您提出的解決方案,而不是給我們提出問題,讓我們提出解決方案。 – Oded 2012-08-17 15:58:53

+3

誠實地說,很難說你究竟在詢問什麼* – Tigran 2012-08-17 15:59:05

+0

不明確。看起來你想通過引用存儲一些東西,但我們需要更多的上下文。 – 2012-08-17 15:59:34

回答

3

這會做的伎倆:

public class Variable 
{ 
    public object Value { get; set; } 
} 

然後,他可以做他要求,即:

Dictionary<string, Variable> dict = new Dictionary<string, Variable>() 
{ 
    {"Transit", new Variable()} 
} 

dict["Transit"].Value = "transit" 
+0

感謝您的回答(您是對的,我認爲它更復雜),並感謝您的支持。關於downvoters的什麼錯誤是他們不發表評論。我的意思是,這是一個論壇,如果你不能建設性的,你在這裏做什麼? – Kevin 2012-08-20 14:34:26

0

我假設你想添加IEnumerable,IQueryable變量到你的字典中。 對象類是超類,可以存儲任何東西,並可以轉換爲任何東西。

var myVar = new { name="john",lastname="smith"}; // or any linq expression 
Dictionary<string, Object> asd = new Dictionary<string, object>(); 
asd.Add("mykey", myVar);