Estendendo metadados por meio de atributosExtending Metadata Using Attributes

O Common Language Runtime permite adicionar declarações descritivas parecidas com palavras, chamadas atributos, para anotar elementos de programação como tipos, campos, métodos e propriedades.The common language runtime allows you to add keyword-like descriptive declarations, called attributes, to annotate programming elements such as types, fields, methods, and properties. Quando você compila seu código para o tempo de execução, ele é convertido em MSIL (Microsoft Intermediate Language) e colocado dentro de um arquivo PE (executável portátil) com metadados gerados pelo compilador.When you compile your code for the runtime, it is converted into Microsoft intermediate language (MSIL) and placed inside a portable executable (PE) file along with metadata generated by the compiler. Os atributos permitem colocar informações descritivas extras em metadados que podem ser extraídos usando serviços de reflexão de tempo de execução.Attributes allow you to place extra descriptive information into metadata that can be extracted using runtime reflection services. O compilador cria atributos quando você declara instâncias de classes especiais que derivam de System.Attribute.The compiler creates attributes when you declare instances of special classes that derive from System.Attribute.

O .NET Framework usa atributos por vários motivos e para solucionar vários problemas.The .NET Framework uses attributes for a variety of reasons and to address a number of issues. Os atributos descrevem como serializar dados, especificar características que são usadas para impor segurança e limitar otimizações pelo compilador JIT (Just-In-Time) para que o código permaneça fácil de depurar.Attributes describe how to serialize data, specify characteristics that are used to enforce security, and limit optimizations by the just-in-time (JIT) compiler so the code remains easy to debug. Os atributos também podem registrar o nome de um arquivo ou o autor do código, ou controlar a visibilidade de controles e membros durante o desenvolvimento de formulários.Attributes can also record the name of a file or the author of code, or control the visibility of controls and members during forms development.

TítuloTitle DescriçãoDescription
Aplicando atributosApplying Attributes Descreve como aplicar um atributo a um elemento do código.Describes how to apply an attribute to an element of your code.
Escrevendo atributos personalizadosWriting Custom Attributes Descreve como criar classes de atributos personalizados.Describes how to design custom attribute classes.
Recuperando informações armazenadas em atributosRetrieving Information Stored in Attributes Descreve como recuperar atributos personalizados para o código que é carregado no contexto de execução.Describes how to retrieve custom attributes for code that is loaded into the execution context.
Metadados e componentes autodescritivosMetadata and Self-Describing Components Fornece uma visão geral dos metadados e descreve como eles são implementados em um arquivo executável PE (executável portátil) do .NET Framework.Provides an overview of metadata and describes how it is implemented in a .NET Framework portable executable (PE) file.
Como carregar assemblies no contexto somente reflexãoHow to: Load Assemblies into the Reflection-Only Context Explica como recuperar informações de atributos personalizados no contexto somente reflexão.Explains how to retrieve custom attribute information in the reflection-only context.

ReferênciaReference

System.Attribute