Bezeichner sollten ein richtiges Suffix aufweisen

Aktualisiert: November 2007

     TypeName

IdentifiersShouldHaveCorrectSuffix

CheckId

CA1710

Kategorie

Microsoft.Naming

Unterbrechende Änderung

Breaking

Ursache

Ein Bezeichner verfügt nicht über das richtige Suffix.

Regelbeschreibung

Die Namen von Typen, die bestimmte Basistypen erweitern oder bestimmte Schnittstellen implementieren, bzw. von diesen Typen abgeleitete Typen weisen stets ein Suffix auf, das mit dem Basistyp oder der Schnittstelle verknüpft ist.

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.

In der folgenden Tabelle werden die Basistypen und Schnittstellen aufgeführt, denen Suffixe zugeordnet sind.

Basistyp/Schnittstelle

Suffix

System.Attribute

Attribute

System.EventArgs

EventArgs

System.Exception

Exception

System.Collections.ICollection

Collection

System.Collections.IDictionary

Dictionary

System.Collections.IEnumerable

Collection

System.Collections.Queue

Collection oder Queue

System.Collections.Stack

Collection oder Stack

System.Collections.Generic.ICollection<T>

Collection

System.Collections.Generic.IDictionary<TKey, TValue>

Dictionary

System.Data.DataSet

DataSet

System.Data.DataTable

Collection oder DataTable

System.IO.Stream

Stream

System.Security.IPermission

Permission

System.Security.Policy.IMembershipCondition

Condition

Ein Ereignishandlerdelegat.

EventHandler

Für Typen, die ICollection implementieren und bei denen es sich um einen verallgemeinerten Datenstrukturtyp handelt, etwa um ein Wörterbuch, einen Stapel oder eine Warteschlange, sind Namen zulässig, aus denen die beabsichtigte Verwendung des Typs hervorgeht.

Typen, die ICollection implementieren und bei denen es sich um eine Auflistung bestimmter Elemente handelt, haben Namen, die mit dem Wort "Collection" enden. Zum Beispiel hätte eine Auflistung von Queue-Objekten den Namen "QueueCollection". Das Suffix "Collection" signalisiert, dass die Member der Auflistung mithilfe der foreach-Anweisung (For Each in Visual Basic) aufgelistet werden können.

Typen, die IDictionary implementieren, haben Namen, die mit dem Wort "Dictionary" enden, auch wenn der Typ zusätzlich IEnumerable oder ICollection implementiert. Durch die Namenskonventionen für die Suffixe "Collection" und "Dictionary" können die Benutzer zwischen den beiden folgenden Enumerationsmustern unterscheiden.

Typen mit dem Suffix "Collection" weisen folgendes Enumerationsmuster auf:

    foreach(SomeType x in SomeCollection) { }

Typen mit dem Suffix "Dictionary" weisen folgendes Enumerationsmuster auf:

    foreach(SomeType x in SomeDictionary.Values) { }

Ein DataSet-Objekt besteht aus einer Auflistung von DataTable-Objekten, die sich wiederum u. a. aus Auflistungen von System.Data.DataColumn-Objekten und System.Data.DataRow-Objekten zusammensetzen. Diese Auflistungen implementieren ICollection durch die System.Data.InternalDataCollectionBase-Basisklasse.

Behandlung von Verstößen

Benennen Sie den Typ um, damit er mit dem richtigen Suffix versehen wird.

Wann sollten Warnungen unterdrückt werden?

Eine Warnung zur Verwendung des Suffix "Collection" kann gefahrlos unterdrückt werden, wenn es sich bei dem Typ um eine verallgemeinerte Datenstruktur handelt, die erweitert werden kann oder die einen beliebigen Satz verschiedener Elemente enthält. In diesem Fall ist es unter Umständen sinnvoll, einen Namen zu verwenden, der aussagekräftige Informationen hinsichtlich der Implementierung, Leistung oder anderer Eigenschaften der Datenstruktur enthält (z. B. BinaryTree). Wenn der Typ eine Auflistung eines bestimmten Typs (z. B. StringCollection) darstellt, sollten Sie keine Warnung dieser Regel unterdrücken, da das Suffix angibt, dass der Typ mit einer foreach-Anweisung aufgelistet werden kann.

Unterdrücken Sie bei anderen Suffixen keine Warnung dieser Regel. Dank des Suffix geht die beabsichtigte Verwendung aus dem Typnamen hervor.

Verwandte Regeln

Bezeichner sollten kein falsches Suffix aufweisen

Siehe auch

Konzepte

Ereignisse und Delegaten

Referenz

Richtlinien für die Verwendung von Attributen