CA1710 : Les identificateurs doivent être dotés d'un suffixe correctCA1710: Identifiers should have correct suffix

TypeNameTypeName IdentifiersShouldHaveCorrectSuffixIdentifiersShouldHaveCorrectSuffix
CheckIdCheckId CA1710CA1710
CategoryCategory Microsoft.NamingMicrosoft.Naming
Modification avec ruptureBreaking Change RuptureBreaking

CauseCause

Un identificateur n’a pas le suffixe correct.An identifier does not have the correct suffix.

Description de la règleRule description

Par convention, les noms des types qui étendent certains types de base ou qui implémentent certaines interfaces, ou les types dérivés de ces types, présentent un suffixe qui est associé au type de base ou interface.By convention, the names of types that extend certain base types or that implement certain interfaces, or types derived from these types, have a suffix that is associated with the base type or interface.

Conventions d’affectation de noms fournissent une apparence commune pour les bibliothèques qui ciblent le common language runtime.Naming conventions provide a common look for libraries that target the common language runtime. Cela réduit la courbe d’apprentissage qui est requis pour 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é.This reduces the learning curve that is required for new software libraries, and increases customer confidence that the library was developed by someone who has expertise in developing managed code.

Le tableau suivant répertorie les types de base et les interfaces qui sont associés à des suffixes.The following table lists the base types and interfaces that have associated suffixes.

Interface/type de baseBase type/Interface SuffixSuffix
System.Attribute AttributAttribute
System.EventArgs EventArgsEventArgs
System.Exception ExceptionException
System.Collections.ICollection CollectionCollection
System.Collections.IDictionary DictionaryDictionary
System.Collections.IEnumerable CollectionCollection
System.Collections.Queue File d’attente ou de collectionCollection or Queue
System.Collections.Stack Collection ou StackCollection or Stack
System.Collections.Generic.ICollection<T> CollectionCollection
System.Collections.Generic.IDictionary<TKey,TValue> DictionaryDictionary
System.Data.DataSet DataSetDataSet
System.Data.DataTable Collection ou un DataTableCollection or DataTable
System.IO.Stream FluxStream
System.Security.IPermission AutorisationPermission
System.Security.Policy.IMembershipCondition ConditionCondition
Un délégué de gestionnaire d’événements.An event-handler delegate. EventHandlerEventHandler

Types qui implémentent ICollection et sont un type généralisé de structure de données, comme un dictionnaire, la pile ou la file d’attente, sont des noms autorisés qui fournissent des informations explicites sur l’utilisation prévue du type.Types that implement ICollection and are a generalized type of data structure, such as a dictionary, stack, or queue, are allowed names that provide meaningful information about the intended usage of the type.

Types qui implémentent ICollection et sont une collection d’éléments spécifiques ont des noms qui se terminent par le mot « Collection ».Types that implement ICollection and are a collection of specific items have names that end with the word 'Collection'. Par exemple, une collection de Queue objets aurait pour nom « QueueCollection ».For example, a collection of Queue objects would have the name 'QueueCollection'. Le suffixe 'Collection' signifie que les membres de la collection peuvent être énumérés à l’aide de la foreach (For Each dans Visual BasicVisual Basic) instruction.The 'Collection' suffix signifies that the members of the collection can be enumerated by using the foreach (For Each in Visual BasicVisual Basic) statement.

Types qui implémentent IDictionary ont des noms qui se terminent par le mot « Dictionary » même si le type implémente également IEnumerable ou ICollection.Types that implement IDictionary have names that end with the word 'Dictionary' even if the type also implements IEnumerable or ICollection. Les conventions d’affectation de noms de suffixe 'Collection' et 'Dictionary' permettent aux utilisateurs de faire la distinction entre les modèles de deux énumération suivants.The 'Collection' and 'Dictionary' suffix naming conventions enable users to distinguish between the following two enumeration patterns.

Types avec le suffixe 'Collection' procèdent de cette énumération.Types with the 'Collection' suffix follow this enumeration pattern.

foreach(SomeType x in SomeCollection) { }

Types avec le suffixe 'Dictionary' procèdent de cette énumération.Types with the 'Dictionary' suffix follow this enumeration pattern.

foreach(SomeType x in SomeDictionary.Values) { }

Un DataSet objet se compose d’une collection de DataTable objets, qui consistent en des collections de System.Data.DataColumn et System.Data.DataRow objects, parmi d’autres.A DataSet object consists of a collection of DataTable objects, which consist of collections of System.Data.DataColumn and System.Data.DataRow objects, among others. Ces collections implémentent ICollection via la base de System.Data.InternalDataCollectionBase classe.These collections implement ICollection through the base System.Data.InternalDataCollectionBase class.

Comment corriger les violationsHow to fix violations

Renommer le type afin qu’il est suivi du suffixe le terme correct.Rename the type so that it is suffixed with the correct term.

Quand supprimer les avertissementsWhen to suppress warnings

Il est possible de supprimer un avertissement à utiliser le suffixe 'Collection' Si le type est une structure de données généralisée susceptible d’être étendue ou qui contiendra un ensemble arbitraire d’éléments divers.It is safe to suppress a warning to use the 'Collection' suffix if the type is a generalized data structure that might be extended or that will hold an arbitrary set of diverse items. Dans ce cas, un nom qui fournit des informations significatives sur l’implémentation, de performances ou d’autres caractéristiques de la structure de données peut être pertinent (par exemple, BinaryTree).In this case, a name that provides meaningful information about the implementation, performance, or other characteristics of the data structure might make sense (for example, BinaryTree). Dans les cas où le type représente une collection d’un type spécifique (par exemple, StringCollection), ne supprimez pas un avertissement de cette règle car le suffixe indique que le type peut être énuméré à l’aide un foreach instruction.In cases where the type represents a collection of a specific type (for example, StringCollection), do not suppress a warning from this rule because the suffix indicates that the type can be enumerated by using a foreach statement.

Pour les autres suffixes, ne supprimez pas d’avertissement de cette règle.For other suffixes, do not suppress a warning from this rule. Le suffixe permet l’utilisation prévue être évidente à partir du nom de type.The suffix allows the intended usage to be evident from the type name.

CA1711 : Les identificateurs ne doivent pas avoir un suffixe incorrectCA1711: Identifiers should not have incorrect suffix

Voir aussiSee also