Sdílet prostřednictvím


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

Související pravidla

CA1024: Použijte vlastnosti, kde je to vhodné