Partager via


CA1708 : Les identificateurs ne doivent pas différer uniquement par la différence de majuscules et minuscules

Propriété Valeur
Identificateur de la règle CA1708
Titre Les identificateurs ne doivent pas différer uniquement par leur casse
Catégorie Dénomination
Le correctif a un effet disruptif ou non disruptif Rupture
Activé par défaut dans .NET 10 Non
Langues applicables C# et Visual Basic

Cause

Les noms de deux types, membres, paramètres ou espaces de noms complets sont identiques lorsqu’ils sont convertis en minuscules.

Par défaut, cette règle examine uniquement les types, les membres et les espaces de noms visibles en externe, mais cette règle est configurable.

Description de la règle

Les identificateurs des espaces de noms, types, membres et paramètres ne peuvent pas différer uniquement par la casse, car les langages qui ciblent le Common Language Runtime ne sont pas obligés d'y être sensibles. Par exemple, Visual Basic est un langage largement utilisé insensible à la casse.

Comment corriger les violations

Sélectionnez un nom unique lorsqu’il est comparé à d’autres identificateurs de manière indépendante de la casse.

Quand supprimer les avertissements

Ne supprimez pas un avertissement provenant de cette règle. La bibliothèque peut ne pas être utilisable dans tous les langages disponibles dans .NET.

Configurer le code à analyser

Utilisez l’option suivante pour configurer les parties de votre codebase sur lesquelles exécuter cette règle.

Vous pouvez configurer cette option pour cette règle uniquement, pour toutes les règles auxquelles elle s’applique ou pour toutes les règles de cette catégorie (Nommage) auxquelles elle s’applique. Pour plus d’informations, consultez Options de configuration des règles de qualité du code.

Inclure des surfaces d’API spécifiques

Vous pouvez configurer les parties de votre codebase sur lesquelles exécuter cette règle, en fonction de leur accessibilité, en définissant l'option api_surface. Par exemple, pour spécifier que la règle doit s’exécuter uniquement sur la surface d’API non publique, ajoutez la paire clé-valeur suivante à un fichier .editorconfig dans votre projet :

dotnet_code_quality.CAXXXX.api_surface = private, internal

Remarque

Remplacez la partie XXXX de CAXXXX par l’ID de la règle applicable.

Exemple de violation

L’exemple suivant illustre une violation de cette règle.

public class Class1
{
    protected string someName;
    public string SomeName => someName;
}

L’exemple suivant montre une façon de corriger la violation

public class Class1
{
    protected string _someName;
    public string SomeName => _someName;
}