CA1020 : Éviter les espaces de noms comportant peu de types

TypeName

AvoidNamespacesWithFewTypes

CheckId

CA1020

Catégorie

Microsoft.CSharp

Modification avec rupture

Oui

Cause

Un espace de noms autre que l'espace de noms global contient moins que cinq types.

Description de la règle

Assurez-vous que chacun de vos espaces de noms bénéficie d'une organisation logique, et qu'une raison valide justifie le placement des types dans un espace de noms peu rempli. Les espaces de noms doivent contenir des types utilisés ensemble dans la plupart des scénarios. Lorsque leurs applications sont mutuellement exclusives, les types doivent être placés dans des espaces de noms distincts. Par exemple, l'espace de noms System.Web.UI contient des types utilisés dans des applications Web, et l'espace de noms System.Windows.Forms des types utilisés dans des applications Windows. Bien que les deux espaces de noms soient dotés de types qui contrôlent différents aspects de l'interface utilisateur, ces types ne sont pas conçus pour être utilisés dans la même application et sont, par conséquent, placés dans des espaces de noms séparés. Une organisation soignée des espaces de noms peut également s'avérer utile car elle augmente la possibilité de découverte d'une fonctionnalité. En examinant la hiérarchie des espaces de noms, les consommateurs de bibliothèques doivent être en mesure de localiser les types qui implémentent une fonctionnalité.

Notes

Pour se conformer à cette directive, les types et les autorisations du moment du design ne doivent pas être fusionnés dans d'autres espaces de noms. Ces types appartiennent à leurs propres espaces de noms, eux-mêmes subordonnés à votre espace de noms principal. Ces espaces de noms doivent respectivement se terminer par .Design et .Permissions.

Comment corriger les violations

Pour corriger une violation de cette règle, essayez de mixer les espaces de noms qui contiennent un petit nombre de types dans un espace de noms unique.

Quand supprimer les avertissements

Il est possible de supprimer sans risque un avertissement de cette règle quand l'espace de noms ne contient aucun type utilisé avec les types présents dans vos autres espaces de noms.