Evitar espacios de nombres con pocos tipos

Actualización: noviembre 2007

Nombre de tipo

AvoidNamespacesWithFewTypes

Identificador de comprobación

CA1020

Categoría

Microsoft.Design

Cambio problemático

Motivo

Un espacio de nombres distinto del espacio de nombres global contiene menos de cinco tipos.

Descripción de la regla

Asegúrese de que existe una organización lógica para cada espacio de nombres y que hay una razón para colocar los tipos en un espacio de nombres apenas lleno. Los espacios de nombres deben contener tipos que se utilizan juntos en la mayoría de los escenarios. Cuando las aplicaciones son mutuamente exclusivas, los tipos se deben buscar en espacios de nombres independientes. Por ejemplo, el espacio de nombres System.Web.UI contiene tipos que se utilizan en las aplicaciones Web, y el espacio de nombres System.Windows.Forms contiene tipos que se utilizan en aplicaciones basadas en Windows. Aunque ambos espacios de nombres tienen tipos que controlan aspectos de la interfaz de usuario, éstos están diseñados para utilizarse en la misma aplicaciones y, por tanto, se encuentran en espacios de nombres distintos. La organización de espacio de nombres especial también puede ser útil puesto que aumenta la capacidad de descubrir una característica. Examinando la jerarquía de espacio de nombres, los usuarios de la biblioteca deben poder buscar los tipos que implementan una característica.

Nota:

Los tipos y permisos en tiempo de diseño no se deben combinar dentro de los otros espacios de nombres para cumplir esta regla. Estos tipos pertenecen a sus propios espacios de nombres debajo de su espacio de nombres principal, y los espacios de nombres deben terminar con .Design y .Permissions, respectivamente.

Cómo corregir infracciones

Para corregir una infracción de esta regla, intente combinar los espacios de nombres que contienen un menor número de tipos dentro de un espacio de nombres único.

Cuándo suprimir advertencias

Es seguro suprimir una advertencia de esta regla cuando el espacio de nombres no contenga tipos que se usen con tipos en otros espacios de nombres.