CA1721: Eigenschaftennamen sollten nicht mit Get-Methoden übereinstimmen

TypeName

PropertyNamesShouldNotMatchGetMethods

CheckId

CA1721

Kategorie (Category)

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 Namen aufweisen, die ihre Funktionen deutlich erkennbar machen.

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.

HinweisHinweis

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

Verwandte Regeln

CA1024: Nach Möglichkeit Eigenschaften verwenden