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

TypeNameTypeName IdentifiersShouldNotHaveIncorrectSuffixIdentifiersShouldNotHaveIncorrectSuffix
CheckIdCheckId CA1711CA1711
CategoryCategory Microsoft.NamingMicrosoft.Naming
Modification avec ruptureBreaking Change RuptureBreaking

CauseCause

Un identificateur a un suffixe incorrect.An identifier has an incorrect suffix.

Description de la règleRule description

Par convention, seuls 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, doivent se terminer par des suffixes réservés spécifiques.By convention, only the names of types that extend certain base types or that implement certain interfaces, or types derived from these types, should end with specific reserved suffixes. Les autres noms de types ne doivent pas utiliser ces suffixes réservés.Other type names should not use these reserved suffixes.

Le tableau suivant répertorie les suffixes réservés et les types de base et les interfaces à laquelle ils sont associés.The following table lists the reserved suffixes and the base types and interfaces with which they are associated.

SuffixSuffix Interface/type de baseBase type/Interface
AttributAttribute System.Attribute
CollectionCollection System.Collections.ICollection

System.Collections.IEnumerable

System.Collections.Queue

System.Collections.Stack

System.Collections.Generic.ICollection<T>

System.Data.DataSet

System.Data.DataTable
DictionaryDictionary System.Collections.IDictionary

System.Collections.Generic.IDictionary<TKey,TValue>
EventArgsEventArgs System.EventArgs
EventHandlerEventHandler Un délégué de gestionnaire d’événementsAn event-handler delegate
ExceptionException System.Exception
AutorisationPermission System.Security.IPermission
File d'attenteQueue System.Collections.Queue
StackStack System.Collections.Stack
FluxStream System.IO.Stream

En outre, les suffixes suivants doivent pas servir :In addition, the following suffixes should not be used:

  • Delegate

  • Enum

  • Impl (utilisez Core à la place)Impl (use Core instead)

  • Ex ou suffixe semblable pour le distinguer d’une version antérieure du même typeEx or similar suffix to distinguish it from an earlier version of the same type

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.

Comment corriger les violationsHow to fix violations

Supprimez le suffixe du nom de type.Remove the suffix from the type name.

Quand supprimer les avertissementsWhen to suppress warnings

Ne supprimez pas d’avertissement de cette règle, sauf si le suffixe a une signification non équivoque dans le domaine d’application.Do not suppress a warning from this rule unless the suffix has an unambiguous meaning in the application domain.

Voir aussiSee also