CA1500 : Les noms de variables ne doivent pas être identiques aux noms de champs
Élément | Valeur |
---|---|
ID de la règle | CA1500 |
Category | Microsoft.Maintainability |
Modification avec rupture | Lorsqu’il est déclenché sur un paramètre portant le même nom qu’un champ : - Non cassant : si le champ et la méthode qui déclarent le paramètre ne peuvent pas être visibles en dehors de l’assembly, quelle que soit la modification que vous apportez. - Cassant : si vous modifiez le nom du champ et qu’il peut être vu en dehors de l’assembly. - Cassant : si vous modifiez le nom du paramètre et que la méthode qui le déclare est visible en dehors de l’assembly. En cas de déclenchement sur une variable locale portant le même nom qu’un champ : - Non cassant : si le champ ne peut pas être vu en dehors de l’assembly, quelle que soit la modification que vous apportez. - Non cassant : si vous modifiez le nom de la variable locale et que vous ne modifiez pas le nom du champ. - Cassant : si vous modifiez le nom du champ et qu’il peut être vu en dehors de l’assembly. |
Cause
Une méthode d’instance déclare un paramètre ou une variable locale dont le nom correspond à un champ d’instance du type déclarant. Pour intercepter les variables locales qui violent la règle, l’assembly testé doit être généré à l’aide des informations de débogage, et le fichier de base de données de programme associé (.pdb) doit être disponible.
Description de la règle
Lorsque le nom d’un champ d’instance correspond à un paramètre ou à un nom de variable locale, le champ d’instance est accessible à l’aide du mot clé this
(Me
en Visual Basic) à l’intérieur du corps de la méthode. Lors de la maintenance du code, il est facile d’oublier cette différence et de supposer que le paramètre/la variable locale fait référence au champ d’instance, ce qui entraîne des erreurs. Cela est particulièrement vrai pour les corps de méthode longs.
Comment corriger les violations
Pour corriger une violation de cette règle, renommez le paramètre/la variable ou le champ.
Quand supprimer les avertissements
Ne supprimez aucun avertissement de cette règle.
Exemple
L’exemple suivant montre deux violations de la règle.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour