Compartilhar via


Como: Fornecer descrições dos metadados sobre o componente

Você pode fornecer metadados descritivos sobre o componente COM attributes.Os atributos são classes especializadas que são aplicadas a elementos de código.Em tempo de compilação, os atributos são emitidas em metadados que está disponível para o common language runtime ou ferramentas personalizadas e a aplicativos com o namespace de System.Reflection .

Os atributos são anexados a um componente precedendo o componente com uma referência ao atributo e fornecendo quaisquer parâmetros ou sinalizadores relevantes.Esta chamada ao construtor é colocado dentro do <> colchetes angulares no Visual Basic e colchetes regulares [] C#.

Por convenção, todas as classes de atributo terminam em “attribute”. Por exemplo, há DescriptionAttribute, ObsoleteAttribute, e as classes de BrowsableAttribute .Em o entanto, várioa linguagens que direcionam o common language runtime, incluindo Visual Basic e C#, não requerem o nome completo do atributo.Por exemplo, ObsoleteAttribute pode ser chamado em código como Obsolete.

Para anexar um atributo existente ao seu componente

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

  2. Anexar atributos para seu componente.Observe que você deve usar o nome totalmente qualificado do atributo ou adicione a declaração apropriada de Imports (using).O exemplo a seguir mostra como anexar o atributo de 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

Você também pode criar seus próprios atributos para uso com suas próprias ferramentas personalizados ou aplicativos que herda de Attribute.Você pode adicionar essa classe base para todas as propriedades personalizadas ou métodos necessário por seu aplicativo.

Para criar e aplicar um atributo personalizado

  1. Crie uma classe que herda de Attribute.

    Public Class WidgetAttribute
       Inherits System.Attribute
    End Class
    
    public class WidgetAttribute: System.Attribute
    {
    }
    
  2. Determine quais propriedades e métodos seu atributo necessário e escreva código para eles.O exemplo a seguir mostra como criar uma propriedade de WidgetType que é definida no construtor da classe de WidgetAttribute .O atributo deAttributeUsageAttribute membros de código que define 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. Aplicar este atributo como você faria com qualquer outro atributo, estando certeza 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 para componentes, propriedades, métodos e eventos

Referência

Attribute

Conceitos

Acessando os atributos personalizados

Recuperar as informações armazenadas em atributos

Outros recursos

Ajuda do usuário para componentes