Поделиться через


CA1020: не используйте пространства имен с несколькими типами

TypeName

AvoidNamespacesWithFewTypes

CheckId

CA1020

Категория

Microsoft.Design

Критическое изменение

Критическое изменение

Причина

В пространстве имен, отличном от глобального пространства имен, содержится меньше пяти типов.

Описание правила

Убедитесь, что каждое из используемых пространств имен имеет логическую организацию и существует веская причина для помещения типов в сильно разреженное пространство имен.Пространства имен должны содержать типы, которые используются во многих скриптах.Если их приложения являются взаимоисключающими, типы следует поместить в отдельные пространства имен.Например, в пространстве имен System.Web.UI содержатся типы, используемые в веб-приложениях, а в пространстве имен System.Windows.Forms содержатся типы, используемые в приложениях на основе Windows.Даже если оба пространства имен содержат типы, которые контролируют аспекты пользовательского интерфейса, такие типы не предназначены для использования в одном приложении. Поэтому они расположены в разных пространствах имен.Также полезно правильно организовывать пространства имен, поскольку в этом случае повышается возможность обнаружения функций.Изучив иерархию пространства имен, пользователи библиотек должны иметь возможность найти типы, которые реализуют ту или иную функцию.

ПримечаниеПримечание

Чтобы следовать этой рекомендации, не следует смешивать типы и разрешения времени разработки с другими пространствами имен.Эти типы принадлежат собственным пространствам имен, вложенным в главное пространство имен, и такие пространства имен должны заканчиваться постфиксами .Design и .Permissions соответственно.

Устранение нарушений

Чтобы устранить нарушение данного правила, попробуйте объединить пространства имен, содержащие небольшое количество типов, в одно пространство.

Отключение предупреждений

Если пространство имен не содержит типов, используемых типами из других пространств имен, то отключение предупреждений о нарушении данного правила безопасно.