Не используйте пространства имен с несколькими типами
Обновлен: Ноябрь 2007
TypeName |
AvoidNamespacesWithFewTypes |
CheckId |
CA1020 |
Категория |
Microsoft.Design |
Критическое изменение |
Критическое изменение |
Причина
В пространстве имен, отличном от глобального пространства имен, содержится меньше пяти типов.
Описание правила
Убедитесь, что каждое из используемых пространств имен имеет логическую организацию и существует веская причина для помещения типов в сильно разреженное пространство имен. Пространства имен должны содержать типы, которые используются во многих сценариях. Если их приложения являются взаимоисключающими, типы следует поместить в отдельные пространства имен. Например, в пространстве имен System.Web.UI содержатся типы, используемые в веб-приложениях, а в пространстве имен System.Windows.Forms содержатся типы, используемые в приложениях Windows. Оба пространства имен содержат типы, которые управляют некоторыми аспектами пользовательского интерфейса, однако эти типы не предназначены для применения в одних и тех же приложениях, поэтому их помещают в разных пространствах имен. Также полезно правильно организовывать пространства имен, поскольку в этом случае повышается возможность обнаружения функций. Изучив иерархию пространства имен, пользователи библиотек должны иметь возможность найти типы, которые реализуют ту или иную функцию.
![]() |
---|
Чтобы следовать этой рекомендации, не следует смешивать типы и разрешения времени разработки с другими пространствами имен. Эти типы принадлежат собственным пространствам имен, вложенным в главное пространство имен, и такие пространства имен должны заканчиваться постфиксами .Design и .Permissions соответственно. |
Предотвращение нарушений
Чтобы устранить нарушение этого правила, попробуйте объединить пространства, содержащие небольшое количество типов, в одно пространство имен.
Отключение предупреждений
Если пространство имен не содержит типов, используемых типами из других пространств имен, то отключение предупреждений о нарушении данного правила безопасно.