CA1721: Nazwy właściwości nie powinny odpowiadać metodom Get
TypeName |
PropertyNamesShouldNotMatchGetMethods |
CheckId |
CA1721 |
Kategoria |
Microsoft.Naming |
Zmiana kluczowa |
Kluczowa |
Przyczyna
Nazwa publicznego lub chronionego elementu członkowskiego zaczyna się od "Get" i odpowiada nazwie właściwości publicznej lub chronionej.Na przykład typ, który zawiera metodę o nazwie "GetColor" i właściwość o nazwie "Kolor" narusza regułę.
Opis reguły
Metody Get i właściwości powinny mieć nazwy, które wyraźnie odróżniają ich funkcje.
Konwencje nazewnictwa zapewniają wspólny wygląd bibliotek przeznaczonych docelowo dla środowiska uruchomieniowego CLR.Zmniejsza to czas, który jest wymagany, aby nauczyć się nowej biblioteki oprogramowania oraz zwiększa przekonanie klientów, że biblioteka została opracowana przez osobę, która ma doświadczenie w wytwarzaniu kodu zarządzanego.
Jak naprawić naruszenia
Należy zmienić nazwę, tak aby nie była zgodna z nazwą metody zawierającą prefiks "Get".
Kiedy pominąć ostrzeżenia
Nie należy pomijać ostrzeżenia dotyczącego tej reguły.
[!UWAGA]
Ostrzeżenie to może zostać wykluczone, jeśli metoda Get jest skutkiem implementacji interfejsu IExtenderProvider.
Przykład
Poniższy przykład zawiera metodę i właściwość, które naruszają tę regułę.
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();
}
}
}
Powiązane reguły
CA1024: Używaj właściwości wszędzie, gdzie jest to odpowiednie