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