我有一個靜態布爾,我正在使用在web配置文件中創建一個應用程序設置密鑰。靜態布爾隱式枚舉c#
static readonly bool UseActiveXClient(ConfigurationManager.AppSettings["TrapezeUseActiveXClient"] = "true");
但是,我希望能夠有三個此鍵的設置,而不是隻是真或假。我正在考慮使用Enum
來做到這一點是失敗的悲慘。任何幫助或建議將非常感謝
我有一個靜態布爾,我正在使用在web配置文件中創建一個應用程序設置密鑰。靜態布爾隱式枚舉c#
static readonly bool UseActiveXClient(ConfigurationManager.AppSettings["TrapezeUseActiveXClient"] = "true");
但是,我希望能夠有三個此鍵的設置,而不是隻是真或假。我正在考慮使用Enum
來做到這一點是失敗的悲慘。任何幫助或建議將非常感謝
您可以使用Nullable<bool>
的目的。
bool? value;
value.HasValue == false // indicates no value
value.Value == true // indicates true
value.Value == false // indicates false
這似乎是一種實現三元組合值的黑客方式。你能解釋爲什麼你更喜歡這個枚舉嗎? – BlackVegetable
只有在語義上適用於您的情況時,才應該使用它,即您的三個狀態爲「true」「false」和「none」。您不應該將它用於具有三個值的任意狀態。 – Servy
因爲除了true/false以外,bool的唯一邏輯值是null/nothing/novalue,它可以用'Nullable
您是否嘗試過使用結構? – Botonomous
UseActiveXClient做什麼? –
我不確定你爲什麼失敗,但這裏是頁面記錄枚舉:http://msdn.microsoft.com/en-us/library/sbbt4032(v=vs.80).aspx – BlackVegetable