CA1721 : Les noms des propriétés ne doivent pas être identiques à ceux des méthodes GetCA1721: Property names should not match get methods

TypeNameTypeName PropertyNamesShouldNotMatchGetMethodsPropertyNamesShouldNotMatchGetMethods
CheckIdCheckId CA1721CA1721
CategoryCategory Microsoft.NamingMicrosoft.Naming
Modification avec ruptureBreaking Change RuptureBreaking

CauseCause

Le nom d’un membre public ou protégé commence par 'Get' et sinon correspond au nom d’une propriété publique ou protégée.The name of a public or protected member starts with 'Get' and otherwise matches the name of a public or protected property. Par exemple, un type qui contient une méthode nommée 'GetColor' et une propriété nommée 'Color' enfreint cette règle.For example, a type that contains a method that is named 'GetColor' and a property that is named 'Color' violates this rule.

Description de la règleRule Description

Méthodes Get doivent avoir des noms distinguant clairement leur fonction.Get methods and properties should have names that clearly distinguish their function.

Conventions d’affectation de noms fournissent une apparence commune pour les bibliothèques qui ciblent le common language runtime.Naming conventions provide a common look for libraries that target the common language runtime. Cela réduit 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é.This reduces the time that is required to learn a new software library, and increases customer confidence that the library was developed by someone who has expertise in developing managed code.

Comment corriger les violationsHow to Fix Violations

Modifier le nom afin qu’il ne corresponde pas le nom d’une méthode qui est précédé de 'Get'.Change the name so that it does not match the name of a method that is prefixed with 'Get'.

Quand supprimer les avertissementsWhen to Suppress Warnings

Ne supprimez aucun avertissement de cette règle.Do not suppress a warning from this rule.

Note

Cet avertissement peut être exclu si la méthode Get est causée par l’implémentation d’interface IExtenderProvider.This warning may be excluded if the Get method is caused by implementing IExtenderProvider interface.

ExempleExample

L’exemple suivant contient une méthode et une propriété qui enfreignent cette règle.The following example contains a method and property that violate this rule.

using System;

namespace NamingLibrary
{
    public class Test
    {
        public DateTime Date
        {
            get { return DateTime.Today; }
        }
         // Violates rule: PropertyNamesShouldNotMatchGetMethods.
        public string GetDate()
        {
            return this.Date.ToString();
        }
    }
}
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

CA1024 : Utilisez des propriétés quand c’est appropriéCA1024: Use properties where appropriate