类型名 |
AvoidNamespacesWithFewTypes |
CheckId |
CA1020 |
类别 |
Microsoft.Design |
是否重大更改 |
是 |
原因
全局命名空间以外的某命名空间包含的类型少于五个。
规则说明
请确保每个命名空间都有一个逻辑组织,并确保将类型放入稀疏填充的命名空间是存在有效理由的。命名空间应包含在大多数情况下要一起使用的类型。当类型的应用程序互斥时,这些类型应位于不同的命名空间中。例如,System.Web.UI 命名空间包含在 Web 应用程序中使用的类型,System.Windows.Forms 命名空间包含在基于 Windows 的应用程序中使用的类型。即使两个命名空间具有控制用户界面的类型,这些类型没有设计用于同一应用程序。因此,它们在单独的命名空间中。谨慎组织命名空间也会有所帮助,因为这样可以增强功能的发现能力。通过检查命名空间层次结构,库使用者应能够定位实现功能的类型。
![]() |
---|
要符合此原则,设计时类型和权限应不合并到其他命名空间中。这些类型位于主命名空间下自己的命名空间中,而且这些命名空间应分别以 .Design 和 .Permissions 结束。 |
如何解决冲突
要修复与该规则的冲突,请尝试将包含少量类型的命名空间合并到一个命名空间中。
何时禁止显示警告
在命名空间不包含与其他命名空间中的类型一起使用的类型时,可以安全地禁止显示此规则发出的警告。