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