Aplicación de atributos
Para aplicar un atributo a un elemento del código se puede utilizar el proceso siguiente:
Defina un atributo nuevo o use un atributo de .NET existente.
Aplique el atributo al elemento de código colocándolo inmediatamente antes del elemento.
Cada lenguaje tiene su propia sintaxis de atributo. En C++ y C#, el atributo está incluido entre corchetes y separado del elemento por un espacio en blanco, que puede incluir un salto de línea. En Visual Basic, el atributo está incluido entre corchetes angulares y debe estar en la misma línea lógica; se puede utilizar el carácter de continuación de línea si se desea un salto de línea.
Especifique parámetros posicionales y parámetros con nombre para el atributo.
Los parámetros posicionales son obligatorios y deben preceder a cualquier parámetro con nombre; se corresponden a los parámetros de uno de los constructores del atributo. Los parámetros con nombre son opcionales y se corresponden a las propiedades de lectura y escritura del atributo. En C++ y C#, especifique
name=value
para cada parámetro opcional, dondename
es el nombre de la propiedad. En Visual Basic, especifiquename:=value
.
El atributo se emite en metadatos al compilar el código y queda disponible para Common Language Runtime y cualquier aplicación o herramienta personalizada a través de los servicios de reflexión en tiempo de ejecución.
Por convención, todos los nombres de atributo terminan con la palabra "Attribute". Sin embargo, algunos lenguajes orientados a Common Language Runtime, como Visual Basic y C#, no requieren que se especifique el nombre completo de los atributos. Por ejemplo, si desea inicializar System.ObsoleteAttribute, solo es necesario hacer referencia al mismo como Obsolete.
Aplicación de un atributo a un método
En el ejemplo de código siguiente se muestra cómo usar System.ObsoleteAttribute, que marca el código como obsoleto. La cadena "Will be removed in next version"
se pasa al atributo. Este atributo da lugar a una advertencia del compilador que muestra la cadena transferida cuando se llama al código que describe el atributo.
public ref class Example
{
// Specify attributes between square brackets in C#.
// This attribute is applied only to the Add method.
public:
[Obsolete("Will be removed in next version.")]
static int Add(int a, int b)
{
return (a + b);
}
};
ref class Test
{
public:
static void Main()
{
// This generates a compile-time warning.
int i = Example::Add(2, 2);
}
};
int main()
{
Test::Main();
}
public class Example
{
// Specify attributes between square brackets in C#.
// This attribute is applied only to the Add method.
[Obsolete("Will be removed in next version.")]
public static int Add(int a, int b)
{
return (a + b);
}
}
class Test
{
public static void Main()
{
// This generates a compile-time warning.
int i = Example.Add(2, 2);
}
}
Public Class Example
' Specify attributes between square brackets in C#.
' This attribute is applied only to the Add method.
<Obsolete("Will be removed in next version.")>
Public Shared Function Add(a As Integer, b As Integer) As Integer
Return a + b
End Function
End Class
Class Test
Public Shared Sub Main()
' This generates a compile-time warning.
Dim i As Integer = Example.Add(2, 2)
End Sub
End Class
Aplicación atributos en el nivel de ensamblado
Si quiere aplicar un atributo en el nivel de ensamblado, use la palabra clave assembly
(Assembly
en Visual Basic). El código siguiente muestra el atributoAssemblyTitleAttribute aplicado al ensamblado.
using namespace System::Reflection;
[assembly:AssemblyTitle("My Assembly")];
using System.Reflection;
[assembly:AssemblyTitle("My Assembly")]
Imports System.Reflection
<Assembly: AssemblyTitle("My Assembly")>
Cuando se aplica este atributo, la cadena "My Assembly"
se coloca en el manifiesto del ensamblado, en la parte de metadatos del archivo. Se puede ver el atributo utilizando el Desensamblador de IL (Ildasm.exe) o creando un programa personalizado que recupere el atributo.
Consulte también
- Atributos
- Retrieving Information Stored in Attributes (Recuperar la información almacenada en atributos)
- Conceptos
- Atributos (C#)
- Información general sobre los atributos (Visual Basic)