Compartilhar via


CA1721: Métodos de obter propriedade nomes não devem corresponder.

TypeName

PropertyNamesShouldNotMatchGetMethods

CheckId

CA1721

<strong>Categoria</strong>

Microsoft.Naming

Alteração significativa

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ública ou protegida.Por exemplo, um tipo que contém um método que é chamado 'GetColor' e uma propriedade denominada 'Cor' viola essa regra.

Descrição da regra

Os métodos Get e propriedades devem ter nomes que distinguir claramente suas funções.

Convenções de nomenclatura fornecem um aspecto familiar a bibliotecas que se destinam ao uso com a common language runtime.Isso reduz o tempo que é necessário para aprender uma nova biblioteca de software e aumenta a confiança do cliente que a biblioteca foi desenvolvida por alguém que tenha experiência em desenvolvimento de código gerenciado.

Como corrigir violações

Altere o nome para que ele não coincide com o nome de um método que tem o prefixo 'Get'.

Quando suprimir avisos

Não suprimir um aviso da regra.

ObservaçãoObservação

Este aviso pode ser excluído, se o método Get é causado por implementar a 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

CA1024: Usar propriedades onde for apropriado