Cómo: Proporcionar descripciones de metadatos sobre los componentes
Puede proporcionar metadatos descriptivos sobre el componente por medio de attributes.Los atributos son clases especializadas que se aplican a elementos de código.En tiempo de compilación, los atributos se emiten como metadatos disponibles para Common Language Runtime o para herramientas y aplicaciones personalizadas mediante el espacio de nombres System.Reflection.
Para asociar atributos a un componente, se inserta delante del componente una referencia al atributo y se proporcionan los parámetros o marcadores correspondientes.Esta llamada al constructor se encierra entre paréntesis angulares <> en Visual Basic y entre corchetes [] en C#.
Por convención, todas las clases de atributos acaban en "Attribute". Por ejemplo, hay clases: DescriptionAttribute, ObsoleteAttribute y BrowsableAttribute.Sin embargo, varios lenguajes dirigidos a Common Language Runtime, entre ellos Visual Basic y C#, no requieren el nombre completo del atributo.Por ejemplo, se puede hacer referencia a ObsoleteAttribute en el código como Obsolete.
Para asociar un atributo existente a un componente
Determine cuáles son los atributos necesarios para el componente.
Asocie los atributos al componente.Observe que debe utilizar el nombre completo del atributo o agregar la instrucción Imports (using) correspondiente.El ejemplo siguiente muestra cómo se asocia el atributo DescriptionAttribute:
Imports System.ComponentModel <Description("This is a description string")> Public Class TheClass End Class
using System.ComponentModel; [Description("This is a description string")] public class TheClass { }
Atributos personalizados
También puede crear sus propios atributos para utilizarlos con sus propias herramientas o aplicaciones personalizadas heredando de Attribute.Puede agregar a esta clase base todas las propiedades personalizadas o métodos necesarios para la aplicación.
Para crear y aplicar un atributo personalizado
Cree una clase que herede de Attribute.
Public Class WidgetAttribute Inherits System.Attribute End Class
public class WidgetAttribute: System.Attribute { }
Determine qué propiedades y métodos necesita el atributo y escriba el código correspondiente.En el ejemplo siguiente se muestra cómo se crea una propiedad WidgetType que se establece en el constructor de la clase WidgetAttribute.El atributo deAttributeUsageAttribute establece qué codifican miembros que el atributo puede establecer.
<AttributeUsage(System.AttributeTargets.Class)> Public Class _ WidgetAttribute Inherits System.Attribute Private mWidgetType as WidgetTypeEnum ' Creates a readonly property for the WidgetAttribute class. Public ReadOnly Property WidgetType as WidgetTypeEnum Get Return mWidgetType End Get End Property ' Creates a constructor that accepts a parameter and assigns the ' value of that parameter to the WidgetType property. Public Sub New(type as WidgetTypeEnum) MyBase.New() mWidgetType = type End Sub End Class
[AttributeUsage(System.AttributeTargets.Class)] public class WidgetAttribute: System.Attribute { private WidgetTypeEnum widgetType; // Creates a readonly property for the WidgetAttribute class. public WidgetTypeEnum WidgetType { get {return widgetType;} } public WidgetAttribute(WidgetTypeEnum type): base() { widgetType = type; } }
Aplique este atributo como haría con cualquier otro y asegúrese de aplicar todos los parámetros necesarios.
<WidgetAttribute(WidgetTypeEnum.VerticalWidget)> _ Public Class WidgetFortyFive End Class
[WidgetAttribute(WidgetTypeEnum.VerticalWidget)] public class WidgetFortyFive { }
Vea también
Tareas
Cómo: Proporcionar metadatos para propiedades, métodos y eventos de componentes
Referencia
Conceptos
Acceso a atributos personalizados
Recuperar información almacenada en atributos