Condividi tramite


CA1020: Evitare l'utilizzo di spazi dei nomi con un numero ridotto di tipi

TypeName

AvoidNamespacesWithFewTypes

CheckId

CA1020

Category

Microsoft.Design

Breaking Change

Breaking

Causa

Uno spazio dei nomi diverso dallo spazio dei nomi globale contiene meno di cinque tipi.

Descrizione della regola

Accertarsi che sia presente un'organizzazione logica per ognuno degli spazi dei nomi e che esista un motivo valido per inserire tipi in uno spazio dei nomi scarsamente compilato. Gli spazi dei nomi devono contenere tipi che vengono utilizzati insieme in molti scenari. Se le relative applicazioni si escludono a vicenda, i tipi devono essere inseriti in spazi dei nomi separati. Lo spazio dei nomi System.Web.UI, ad esempio, contiene tipi utilizzati in applicazioni Web, mentre lo spazio dei nomi System.Windows.Forms contiene tipi utilizzati in applicazioni Windows. Anche se entrambi gli spazi dei nomi presentano tipi che controllano aspetti dell'interfaccia utente, questi tipi non sono progettati per essere utilizzati nella stessa applicazione, pertanto sono inseriti in spazi dei nomi separati. Un'attenta organizzazione degli spazi dei nomi può essere utile anche perché agevola l'individuazione di una funzionalità. Esaminando la gerarchia degli spazi dei nomi, i consumer di librerie dovrebbero essere in grado di individuare i tipi che implementano una funzionalità.

Nota

In conformità a questa linea guida, le autorizzazioni e i tipi della fase di progettazione non devono essere uniti in altri spazi dei nomi. Questi tipi appartengono a propri spazi dei nomi all'interno dello spazio dei nomi principale e gli spazi dei nomi devono terminare rispettivamente con .Design e .Permissions.

Come correggere le violazioni

Per correggere una violazione di questa regola, tentare di combinare gli spazi dei nomi che contengono un numero limitato di tipi in un unico spazio dei nomi.

Esclusione di avvisi

L'esclusione di un avviso da questa regola è sicura se lo spazio dei nomi non contiene tipi utilizzati con tipi di altri spazi dei nomi.