Como: Forneça descrições de metadados sobre o seu componente.

Você pode fornecer metadados descritivos sobre seu componente por meio de attributes. Os atributos são classes especializadas que são aplicadas aos elementos de código. Em tempo de compilação, os atributos são emitidos em metadados que estão disponíveis para o common language runtime ou ferramentas personalizadas e aplicativos por meio de System.Reflection namespace.

Atributos são anexados a um componente precedendo o componente com uma referência para o atributo e fornecendo a quaisquer parâmetros relevantes ou sinalizadores. Esta chamada para o construtor é colocada dentro de colchetes angulares < > no Visual Basic e regular colchetes [] no C#.

Por convenção, todas as classes de atributo terminam com "Atributo". Por exemplo, existem DescriptionAttribute, ObsoleteAttribute, e BrowsableAttribute classes. No entanto, várias linguagens que visam common language runtime, incluindo Visual Basic e C#, não exigem o nome completo do atributo. Por exemplo, o ObsoleteAttribute pode ser chamado no código como Obsolete.

Para anexar um atributo existente ao seu componente

  1. Determine quais atributos são necessários para seu componente.

  2. Anexe os atributos para seu componente. Observe que você deve usar o nome totalmente qualificado do atributo ou adicionar apropriado Imports (using) instrução. O exemplo a seguir mostra como anexar a DescriptionAttribute atributo:

    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

Você também pode criar seus próprios atributos para uso com suas próprias ferramentas personalizadas ou aplicativos herdam Attribute. Você pode adicionar essa classe base quaisquer propriedades personalizadas ou métodos necessários para seu aplicativo.

Para criar e aplicar um atributo personalizado

  1. Criar uma classe que herda de Attribute.

    Public Class WidgetAttribute
       Inherits System.Attribute
    End Class
    
    public class WidgetAttribute: System.Attribute
    {
    }
    
  2. Determinar quais propriedades e métodos que seu atributo precisa e escrever o código para eles. O exemplo a seguir mostra como criar um WidgetType propriedade é definida no construtor da WidgetAttribute classe. OAttributeUsageAttribute atributo define quais membros de código, o atributo pode direcionar.

    <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;
          }
    }
    
  3. Aplica esse atributo, como faria com qualquer outro atributo, sendo determinados aplicar quaisquer parâmetros necessários.

    <WidgetAttribute(WidgetTypeEnum.VerticalWidget)> _
       Public Class WidgetFortyFive
    End Class
    
    [WidgetAttribute(WidgetTypeEnum.VerticalWidget)]
    public class WidgetFortyFive
    {
    }
    

Consulte também

Tarefas

Como: Fornecer metadados de eventos, métodos e propriedades do componente

Referência

Attribute

Conceitos

Acessando os atributos personalizados

Recuperando Informações Armazenadas em Atributos

Outros recursos

Assistência ao usuário para componentes