CA1721: Los nombres de propiedades no deberían coincidir con los métodos Get
Nombre de tipo |
PropertyNamesShouldNotMatchGetMethods |
Identificador de comprobación |
CA1721 |
Categoría |
Microsoft.Naming |
Cambio problemático |
Sí |
Causa
El nombre de un miembro público o protegido comienza con "Get" y en cualquier otro caso coincide con el nombre de una propiedad pública o protegida. Por ejemplo, un tipo que contiene un método denominado "GetColor" y una propiedad denominada "Color" infringe esta regla.
Descripción de la regla
Los métodos y propiedades Get deberían tener nombres que claramente distingan su función.
Las convenciones de nomenclatura proporcionan una apariencia común a las bibliotecas orientadas a Common Language Runtime. Esto reduce el tiempo de aprendizaje necesario para la nueva biblioteca de software y aumenta la confianza por parte del cliente en lo que respecta a que la biblioteca fue desarrollada por un especialista en desarrollo de código administrado.
Cómo corregir infracciones
Cambie el nombre para que no coincida con el nombre de un método con el prefijo "Get".
Cuándo suprimir advertencias
No suprima las advertencias de esta regla.
Nota
Se puede excluir esta advertencia si el método Get se produce por la implementación de la interfaz IExtenderProvider.
Ejemplo
El ejemplo siguiente contiene un método y una propiedad que infringen esta regla.
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();
}
}
}