我有一个静态布尔,我正在使用在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