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 avoir des noms qui distinguent clairement leurs fonctions respectives.

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.

Notes

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();
        }
    }
}

Règles connexes

CA1024 : Utiliser les propriétés lorsque cela est approprié