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

更新:2007 年 11 月

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

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

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

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);

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

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

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

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

有关设计指南的更多信息,请参见 Krzysztof Cwalina 和 Brad Abrams 编著、Addison-Wesley 于 2005 年出版的“Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries”(《框架设计指南:可重用 .NET 库的约定、术语和模式》)。

请参见

概念

参数设计

其他资源

成员设计准则

类库开发的设计准则