CA1721: Názvy vlastností by neměly odpovídat metodám Get
TypeName |
PropertyNamesShouldNotMatchGetMethods |
CheckId |
CA1721 |
Kategorie |
Microsoft.Naming |
Narušující změna |
Narušující |
Příčina
Název soukromého nebo chráněného členu začíná na 'Get' a dále se shoduje s názvem veřejné nebo chráněné vlastnosti.Například typ obsahující metodu je pojmenován 'GetColor' a vlastnost pojmenovaná 'Color' porušují toto pravidlo.
Popis pravidla
Metody Get a vlastnosti by měly mít názvy, které zřetelně rozliší jejich funkce.
Jmenné konvence poskytují společný vzhled knihovnám, které pracují s modulem CLR (Common Language Runtime).To snižuje čas potřebný k prostudování nové softwarové knihovny a zvyšuje důvěru zákazníků ve skutečnost, že knihovna byla vyvinuta osobou s odbornými znalostmi ve vývoji spravovaného kódu.
Jak vyřešit porušení
Změňte název tak, aby se neshodoval s názvem metody začínající na 'Get'.
Kdy potlačit upozornění
Nepotlačujte upozornění na toto pravidlo.
[!POZNÁMKA]
Toto upozornění může být vyloučeno, je-li metoda Get zavedena implementací rozhraní IExtenderProvider.
Příklad
Následující příklad obsahuje metodu a vlastnost, která toto pravidlo porušuje.
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();
}
}
}