CA1710 : Les identificateurs doivent être dotés d'un suffixe correct

TypeName

IdentifiersShouldHaveCorrectSuffix

CheckId

CA1710

Catégorie

Microsoft.Naming

Modification avec rupture

Oui

Cause

Un identificateur ne présente pas le suffixe correct.

Description de la règle

Par convention, les noms des types qui étendent certains types de base ou qui implémentent certaines interfaces, ou encore des types dérivés de ces types, présentent un suffixe associé au type de base ou à l'interface.

Les conventions d'affectation des noms confèrent un aspect commun aux bibliothèques qui ciblent le Common Language Runtime. Elles réduisent ainsi la durée de l'apprentissage requis par les nouvelles bibliothèques de logiciels et confirment au client que la bibliothèque a été développée par une personne compétente en matière de développement de code managé.

Le tableau suivant répertorie les types de base et les interfaces qui présentent des suffixes associés.

Type de base/interface

Suffixe

System.Attribute

Attribut

System.EventArgs

EventArgs

System.Exception

Exception

System.Collections.ICollection

Collection

System.Collections.IDictionary

Dictionary

System.Collections.IEnumerable

Collection

System.Collections.Queue

Collection ou Queue

System.Collections.Stack

Collection ou Stack

System.Collections.Generic.ICollection<T>

Collection

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

Dictionary

System.Data.DataSet

Groupe de données

System.Data.DataTable

Collection ou DataTable

System.IO.Stream

Stream

System.Security.IPermission

Autorisation

System.Security.Policy.IMembershipCondition

Condition

Délégué de gestionnaire d'événements.

EventHandler

Les types qui implémentent ICollection et qui représentent un type généralisé de structures de données, telles que dictionary, stack, ou queue, constituent des noms autorisés qui fournissent des informations explicites sur l'utilisation prévue du type.

Les noms des types qui implémentent ICollection et qui constituent une collection d'éléments spécifiques, se terminent par le mot 'Collection.' Par exemple, une collection d'objets Queue aura pour nom 'QueueCollection.' Le suffixe 'Collection' signifie que les membres de la collection peuvent être énumérés à l'aide de l'instruction foreach (For Each en Visual Basic).

Les noms des types qui implémentent IDictionary se terminent par le mot 'Dictionary', même si le type implémente également IEnumerable ou ICollection. Les conventions d'affectation de noms qui utilisent les suffixes 'Collection' et 'Dictionary' permettent aux utilisateurs de différencier les deux schémas d'énumération suivants.

Les types dotés du suffixe 'Collection' respectent le schéma d'énumération suivant.

    foreach(SomeType x in SomeCollection) { }

Les types dotés du suffixe 'Dictionary' respectent le schéma d'énumération suivant.

    foreach(SomeType x in SomeDictionary.Values) { }

Un objet DataSet se compose d'une collection d'objets DataTable, qui elle-même se compose de collections d'objets tels qu'entre autres System.Data.DataColumn et System.Data.DataRow. Ces collections implémentent ICollection par le biais de la classe de base System.Data.InternalDataCollectionBase.

Comment corriger les violations

Renommez le type afin qu'il présente pour suffixe le terme approprié.

Quand supprimer les avertissements

Il est possible de supprimer sans risque un avertissement pour utiliser le suffixe 'Collection' si le type constitue une structure de données généralisée susceptible d'être étendue ou de contenir un jeu arbitraire d'éléments divers. Dans ce cas, un nom qui fournit des informations explicites concernant l'implémentation, les performances ou d'autres caractéristiques de la structure de données peut être pertinent (par exemple, BinaryTree). Dans les cas où le type représente une collection d'un type spécifique (par exemple, StringCollection), ne supprimez pas d'avertissement de cette règle car le suffixe indique que le type peut être énuméré au moyen d'une instruction foreach.

Pour les autres suffixes, ne supprimez pas d'avertissement de cette règle. Le suffixe permet d'identifier l'utilisation prévue à partir du nom de type.

Règles connexes

CA1711 : Les identificateurs ne doivent pas porter un suffixe incorrect

Voir aussi

Référence

Indications concernant l'utilisation des attributs

Concepts

Événements et délégués