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