2012-08-17 127 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);