0

可能重复:
带有值“变量”的字典

我有一些高度耦合的代码,我正在尝试解耦。如果我可以制作这样的字典:

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

可以修复很多耦合。另一个线程中的一个海报似乎找到了使用变量类的解决方案,但他/她没有发布这个类的任何细节,我想不出该怎么做。

编辑:

基本上,而不是:

string transit = <string value>;

我希望能够写:

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

我已经做过的地方:

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

这可能是不可能的,但任何建议都值得赞赏。

问候。

4

2 回答 2

5

这可以解决问题:

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

然后他可以做他所要求的,即:

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

dict["Transit"].Value = "transit"
于 2012-08-18T00:56:55.540 回答
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);
于 2012-08-17T16:09:54.527 回答