CA1721: Os nomes de propriedade não devem corresponder a métodos get

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' Caso contrário, corresponde ao nome de uma propriedade pública ou protegida. Por exemplo, um tipo que contém um método chamado 'getcolor'. e uma propriedade chamada 'Cores' viola essa regra.

Descrição da regra

Propriedades e métodos Get devem ter nomes de distinguir claramente sua função.

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 não corresponder ao nome de um método que é 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 de 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: Use as propriedades onde for apropriado