CA1724 : Les noms de types ne doivent pas être identiques aux espaces de noms

Propriété Value
Identificateur de la règle CA1724
Titre Les noms de types ne doivent pas être identiques aux espaces de noms
Catégorie Dénomination
Le correctif est cassant ou non cassant Rupture
Activé par défaut dans .NET 8 Non

Cause

Un nom de type correspond à un nom d’espace de noms référencé qui a un ou plusieurs types visibles en externe. La comparaison de nom ne respecte pas la casse.

Description de la règle

Les noms des types créés par l’utilisateur ne doivent pas être identiques aux noms des espaces de noms référencés qui ont des types visibles en externe. Enfreindre cette règle peut réduire la facilité d'utilisation de votre bibliothèque.

Comment corriger les violations

Renommez le type de sorte qu’il ne soit pas identique au nom d’un espace de noms référencé qui a des types visibles en externe.

Quand supprimer les avertissements

Pour un nouveau développement, aucun scénario connu ne se produit où vous devez supprimer un avertissement de cette règle. Avant de supprimer l’avertissement, réfléchissez soigneusement au fait que les utilisateurs de votre bibliothèque risquent d’être perplexes face aux noms identiques. Pour les bibliothèques d’expédition, vous devrez peut-être supprimer un avertissement de cette règle.

Supprimer un avertissement

Si vous voulez supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver et réactiver la règle.

#pragma warning disable CA1724
// The code that's violating the rule is on this line.
#pragma warning restore CA1724

Pour désactiver la règle sur un fichier, un dossier ou un projet, définissez sa gravité sur none dans le fichier de configuration.

[*.{cs,vb}]
dotnet_diagnostic.CA1724.severity = none

Pour plus d’informations, consultez Comment supprimer les avertissements de l’analyse de code.

Exemple

namespace MyNamespace
{
    // This class violates the rule
    public class System
    {
    }
}