Freigeben über


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

Verwandte Regeln

CA1024: Nach Möglichkeit Eigenschaften verwenden