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