Saltar al contenido

Usando los atributos en C#

Estos son los objetivos de atributos más comunes, o piezas de infraestructura de código que pueden ser marcadas con un atributo.

TargetDescriptionTypeAttributes pertenecen a un delegado, clase, estructura, interfaz o enumMethodAttributes se relacionan con un método o accessors de propiedad (get / set)PropertyAttributes se relacionan con propiedadesAssemblyAttributes se relacionan con todo el ensamblajeFieldAttributes se relacionan con un campo en una clase o estructuraReturnAttributes se relacionan con el valor de retorno de un método o accessors de propiedadEventAttributes se relacionan con un eventoParameterAttributes se relacionan con parámetros de métodos o accessors de propiedad

Usando los atributos en C#
Usando los atributos en C#

En el siguiente ejemplo, la propiedad Id es el objetivo. Está marcada con el atributo Key. El atributo Key no cambia el comportamiento del código directamente. Esta propiedad opera como se espera, ya sea que el atributo exista o sea eliminado. Sin embargo, algunas bibliotecas, como Entity Framework, prestan atención al atributo. En el caso de Entity Framework, la propiedad Id se considera la clave principal. Cuando se consulta la entidad, Entity Framework sabe que puede obtener una instancia de la entidad de la base de datos únicamente por la columna Id.

12345678publicclassCar{[Key]publicGuid Id {get;set;}publicstring Color {get;set;}publicstring Make {get;set;}publicstring Model {get;set;}}

cs

Este código carga la entidad Car de la base de datos por clave primaria con Entity Framework. Si no se especifica el atributo Key, se lanza una excepción.

1var car =await Cars.FindAsync(newGuid("ca4080b2-fa16-45eb-aa1f-21d677378cc8"));

cs

En el siguiente ejemplo, se establece el título de la asamblea. Resulta en el ajuste de la «Descripción del archivo» del archivo DLL físico. Si compruebas los detalles del DLL compilado, dice «ExampleAssembly».

1234usando el Sistema;usando el Sistema.Reflexión;[ensamblaje:Título de Ensamblaje("ExampleAssembly")]

cs

En el ejemplo que se presenta a continuación, el objetivo es una clase, y está marcado con el atributo Obsoleto. Provoca advertencias de compilación cuando se utiliza la clase. Puede utilizarse para alentar a los desarrolladores a utilizar un código diferente. El mensaje especificado aquí aparece en la ventana de advertencias.

123456789[Obsoleto("Esta dirección ya no se utiliza. Por favor, utilice en su lugar la Dirección Internacional")]publicclassAddress{publicstring StreetNumber {get;set;}publicstring StreetName {get;set;}publicstring City {get;set;}publicint ZipCode {get;set;}publicstring State {get;set;}}

cs