CA1020:避免使用类型极少的命名空间

类型名

AvoidNamespacesWithFewTypes

CheckId

CA1020

类别

Microsoft.Design

是否重大更改

原因

全局命名空间以外的某命名空间包含的类型少于五个。

规则说明

请确保每个命名空间都有一个逻辑组织,并确保将类型放入稀疏填充的命名空间是存在有效理由的。 命名空间应包含在大多数情况下要一起使用的类型。 当类型的应用程序互斥时,这些类型应位于不同的命名空间中。 例如,System.Web.UI 命名空间包含在 Web 应用程序中使用的类型,System.Windows.Forms 命名空间包含在基于 Windows 的应用程序中使用的类型。 即使两个命名空间都具有控制用户界面外观的类型,这些类型也并非设计为在同一个应用程序中使用,因此位于不同的命名空间中。 谨慎组织命名空间也会有所帮助,因为这样可以增强功能的发现能力。 通过检查命名空间层次结构,库使用者应能够定位实现功能的类型。

提示

要符合此原则,设计时类型和权限应不合并到其他命名空间中。 这些类型位于主命名空间下自己的命名空间中,而且这些命名空间应分别以 .Design 和 .Permissions 结束。

如何解决冲突

要修复与该规则的冲突,请尝试将包含少量类型的命名空间合并到一个命名空间中。

何时禁止显示警告

在命名空间不包含与其他命名空间中的类型一起使用的类型时,可以安全地禁止显示此规则发出的警告。