在枚举和布尔参数之间选择
下列准则可帮助您确定参数类型应是枚举还是 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年艾迪生 - 韦斯利,发表。