CA1721: Eigenschaftennamen sollten nicht mit Get-Methoden übereinstimmen
TypeName |
PropertyNamesShouldNotMatchGetMethods |
CheckId |
CA1721 |
Kategorie |
Microsoft.Naming |
Unterbrechende Änderung |
Breaking |
Ursache
Der Name eines öffentlichen oder geschützten Members beginnt mit "Get" und stimmt in anderer Hinsicht mit dem Namen einer öffentlichen oder geschützten Eigenschaft überein. Beispielsweise wird diese Regel durch einen Typ verletzt, der eine Methode mit dem Namen 'GetColor' und eine Eigenschaft mit dem Namen 'Color' enthält.
Regelbeschreibung
Get-Methoden und Eigenschaften sollten über Namen verfügen, aus denen ihre Funktion eindeutig hervorgeht.
Durch Benennungskonventionen erhalten Bibliotheken, die auf die Common Language Runtime abzielen, ein einheitliches Erscheinungsbild. Dadurch wird der Lernaufwand für neue Softwarebibliotheken verringert. Zudem wird das Kundenvertrauen dahingehend gestärkt, dass die Bibliothek von einem erfahrenen Entwickler für verwalteten Code erstellt wurde.
Behandeln von Verstößen
Ändern Sie den Namen, sodass er nicht mit dem Namen einer Methode übereinstimmt, die mit "Get" beginnt.
Wann sollten Warnungen unterdrückt werden?
Unterdrücken Sie keine Warnung dieser Regel.
Tipp
Diese Warnung wird möglicherweise ausgeschlossen, wenn die Get-Methode durch die Implementierung der IExtenderProvider-Schnittstelle ausgelöst wird.
Beispiel
Das folgende Beispiel enthält eine Methode und eine Eigenschaft, die gegen diese Regel verstoßen.
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();
}
}
}