我有一些高度耦合的代码,我试图解耦。如果我能像这样制作一个词典:
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}
};
这可能是不可能的,但任何建议都表示赞赏。
问候。
答案 0 :(得分:3)
这样可以解决问题:
public class Variable
{
public object Value { get; set; }
}
然后他可以做他所要求的,即:
Dictionary<string, Variable> dict = new Dictionary<string, Variable>()
{
{"Transit", new Variable()}
}
dict["Transit"].Value = "transit"
答案 1 :(得分:0)
我假设您想要将IEnumerable,IQueryable变量添加到您的字典中。 Object类是超类,可以存储任何东西,可以转换为任何东西。
var myVar = new { name="john",lastname="smith"}; // or any linq expression
Dictionary<string, Object> asd = new Dictionary<string, object>();
asd.Add("mykey", myVar);