在枚举和布尔参数之间选择

下列准则可帮助您确定参数类型应是枚举还是 Boolean 值。

如果成员本来有两个或多个布尔参数,则要使用枚举。

枚举可以显著提高成员签名的可读性。 请考虑下面的方法调用:

Type.GetType("Contoso.Controls.Array", True, False)
Type.GetType("Contoso.Controls.Array", true, false);

Type::GetType("Contoso.Controls.Array", true, false);

如果不查阅文档或添加代码注释,很难理解类似于这样的调用。 如果调用使用枚举值而非多个布尔值,则阅读起来要容易得多,如下面的代码示例所示。

BetterType.GetType("Contoso.Controls.Array", _
    ErrorOptions.ThrowOnError, _
    CasingOptions.CaseInsensitive)
BetterType.GetType("Contoso.Controls.Array", 
    ErrorOptions.ThrowOnError, 
    CasingOptions.CaseInsensitive);

BetterType::GetType("Contoso.Controls.Array",
ErrorOptions::ThrowOnError,
CasingOptions::CaseInsensitive);

除非完全确定永不需要多于两个的值,否则不要使用布尔值。

枚举允许在以后的版本中添加值,但向枚举添加值可能会引入兼容性问题。 有关更多信息,请参见 向枚举添加值

部分版权所有 2005 Microsoft Corporation。 保留所有权利。

部分版权所有 Addison-Wesley Corporation。 保留所有权利。

设计指引的详细信息,请参阅"框架设计准则: 公约、 成语和可重复使用的模式。网络图书馆"书 Krzysztof Cwalina 和布拉德 · 艾布拉姆斯,2005年艾迪生 - 韦斯利,发表。

请参见

概念

参数设计

其他资源

成员设计准则

类库开发的设计准则