在枚举和布尔参数之间选择
更新: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 库的约定、术语和模式》)。