CA1721 : Les noms des propriétés ne doivent pas être identiques à ceux des méthodes Get
TypeName |
PropertyNamesShouldNotMatchGetMethods |
CheckId |
CA1721 |
Catégorie |
Microsoft.Naming |
Modification avec rupture |
Oui |
Cause
Le nom d'un membre public ou protégé commence par 'Get'. Sinon, il correspond au nom d'une propriété publique ou protégée.Par exemple, un type qui contient une méthode nommée 'GetColor' et une propriété nommée 'Color' enfreint cette règle.
Description de la règle
Les méthodes et propriétés Get doivent porter des noms distinguant clairement leur fonction.
Les conventions d'affectation des noms confèrent un aspect commun aux bibliothèques qui ciblent le Common Language Runtime.Elles réduisent le temps nécessaire pour apprendre une nouvelle bibliothèque de logiciels et confirment au client que la bibliothèque a été développée par une personne compétente en matière de développement de code managé.
Comment corriger les violations
Modifiez le nom afin qu'il ne corresponde pas au nom d'une méthode ayant 'Get' pour préfixe.
Quand supprimer les avertissements
Ne supprimez aucun avertissement de cette règle.
[!REMARQUE]
Cet avertissement peut être exclu si la méthode Get est causée par l'implémentation de l'interface IExtenderProvider.
Exemple
L'exemple suivant contient une méthode et une propriété qui enfreignent cette règle.
Imports System
Namespace NamingLibrary
Public Class Test
Public ReadOnly Property [Date]() As DateTime
Get
Return DateTime.Today
End Get
End Property
' Violates rule: PropertyNamesShouldNotMatchGetMethods.
Public Function GetDate() As String
Return Me.Date.ToString()
End Function
End Class
End Namespace
using System;
namespace NamingLibrary
{
public class Test
{
public DateTime Date
{
get { return DateTime.Today; }
}
// Violates rule: PropertyNamesShouldNotMatchGetMethods.
public string GetDate()
{
return this.Date.ToString();
}
}
}