Partilhar via


Nomes de propriedade não devem corresponder a métodos get

TypeName

PropertyNamesShouldNotMatchGetMethods

CheckId

CA1721

Category (Categoria)

Microsoft.Naming

Quebrando alterar

Quebrando

Causa

O nome de um membro público ou protegido começa com 'Get' e caso contrário, corresponde ao nome de uma propriedade público ou protegido.Por exemplo, um tipo que contém um método chamado 'GetColor' e uma propriedade denominada 'Cor' viola essa regra.

Descrição da regra

Métodos GET e propriedades devem ter nomes que distinguir claramente sua função.

Convenções de nomenclatura fornecem uma aparência comum para bibliotecas de destino o common linguagem tempo de execução.Isso reduz o time que é necessário para aprender uma nova biblioteca de software e aumenta a confiança do cliente que a biblioteca foi desenvolvida por uma pessoa com experiência em desenvolvimento de código gerenciado.

Como corrigir violações

Altere o nome de modo que não coincide com o nome de um método prefixado com 'Get'.

Quando suprimir avisos

Não suprimir um aviso da regra.

Observação:

Talvez este aviso seja excluído se o método Get é causado por Implementar interface IExtenderProvider.

Exemplo

O exemplo a seguir contém um método e propriedade que violam essa regra.

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

Regras relacionadas

Use propriedades onde for apropriado