2010-07-01 108 views
0

我有「設置」這就是像這個數據庫表:從名稱/值對目錄中即時創建對象屬性?

MopedID,名稱,價值

我想使對象在填充了從任何存儲在那裏的屬性我的基本控制器。

所以,如果它是:

32,「EnableHyperCanon」,「真」

在運行時的對象,當我從從基本繼承將有機會獲得MopedSettings.EnableHyperCanon任何控制器訪問哪些將是字符串值「True」。

的對象永遠只能有屬性,它找到ID 32.

任何想法?

編輯:也許一個更好的主意是MopedSettings [「EnableHyperCanon」]有沒有一種方法來創建這種方式工作的對象?

回答

0

爲了讓你的對象可轉位:

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

我希望這有助於。

+0

感謝,VS不喜歡你的一些分號雖然 – BigOmega 2010-07-01 17:41:40

+0

奇怪的是,我得到一個對象的引用是試圖填充此對象的實例時零誤差: 名單 allSettings =(從CS在db.CompanySettings 其中cs.CompanyID == company.CompanyID select cs).ToList(); (CompanySetting cs in allSettings) { companySettings [cs.Name] = cs.Value; } – BigOmega 2010-07-01 18:05:32

+0

是的,你將不得不初始化Dictionary('_dic = new Dictionary ();'),並且不需要'get {}'語句後的分號。 – fbstj 2010-07-01 18:18:04