从名称/值对目录中动态创建对象属性?

时间:2010-07-01 17:21:41

标签: c# asp.net-mvc

我有这个“设置”的数据库表,如:

MopedID,名称,价值

我想在我的基本控制器中创建一个对象,该对象填充了存储在那里的任何属性。

所以如果是:

32,“EnableHyperCanon”,“True”

当我从任何继承自Base的控制器访问它时,运行时的对象将有权访问MopedSettings.EnableHyperCanon,它将是字符串值“True”。

该对象只能拥有为ID 32找到的属性。

有什么想法吗?

编辑:也许更好的想法是MopedSettings [“EnableHyperCanon”]有没有办法创建一个这样工作的对象?

2 个答案:

答案 0 :(得分:0)

如果您在.NET 4.0上运行,则可以使用ExpandoObject

答案 1 :(得分:0)

使您的对象可索引:

class MopedSettings
{
    private Dictionary<string,object> _dic;
    public object this[string s] { get { return _dic[s]; }; set { _dic[s] = value; } }
}

我希望这会有所帮助。