CA1711: Los identificadores no deberían tener el sufijo incorrectoCA1711: Identifiers should not have incorrect suffix

TypeNameTypeName IdentifiersShouldNotHaveIncorrectSuffixIdentifiersShouldNotHaveIncorrectSuffix
Identificador de comprobaciónCheckId CA1711CA1711
CategoríaCategory Microsoft.NamingMicrosoft.Naming
Cambio problemáticoBreaking Change ProblemáticoBreaking

MotivoCause

Un identificador tiene un sufijo incorrecto.An identifier has an incorrect suffix.

Descripción de la reglaRule description

Por convención, los nombres de tipos que extienden determinados tipos base o que implementan algunas interfaces, o tipos derivados de estos tipos, deben terminar con unos sufijos reservados específicos.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. Otros nombres de tipo no deben utilizar estos sufijos reservados.Other type names should not use these reserved suffixes.

En la tabla siguiente se muestran los sufijos reservados y los tipos base e interfaces a los que se asocian.The following table lists the reserved suffixes and the base types and interfaces with which they are associated.

SufijoSuffix Tipo base/InterfazBase type/Interface
AtributoAttribute System.Attribute
ColecciónCollection 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 Delegado del controlador de eventos.An event-handler delegate
ExcepciónException System.Exception
PermisoPermission System.Security.IPermission
ColaQueue System.Collections.Queue
PilaStack System.Collections.Stack
SecuenciaStream System.IO.Stream

Además, los siguientes sufijos deben no usarse:In addition, the following suffixes should not be used:

  • Delegate

  • Enum

  • Impl (Utilice Core en su lugar)Impl (use Core instead)

  • Ex o un sufijo similar para distinguirla de una versión anterior del mismo tipoEx or similar suffix to distinguish it from an earlier version of the same type

Las convenciones de nomenclatura proporcionan una apariencia común para las bibliotecas destinadas a Common Language Runtime.Naming conventions provide a common look for libraries that target the common language runtime. Esto reduce la curva de aprendizaje necesaria para las nuevas bibliotecas de software y aumenta la confianza del cliente respecto a que la biblioteca se haya desarrollado por parte de un especialista en desarrollo de código administrado.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.

Cómo corregir infraccionesHow to fix violations

Quite el sufijo del nombre de tipo.Remove the suffix from the type name.

Cuándo Suprimir advertenciasWhen to suppress warnings

No suprima una advertencia de esta regla a menos que el sufijo no tenga un significado ambiguo en el dominio de aplicación.Do not suppress a warning from this rule unless the suffix has an unambiguous meaning in the application domain.

Vea tambiénSee also