ComClassAttribute Classe

Definição

O atributo ComClassAttribute instrui o compilador a adicionar metadados que permitem que uma classe seja exposta como um objeto COM.

public ref class ComClassAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=false)]
public sealed class ComClassAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=false)>]
type ComClassAttribute = class
    inherit Attribute
Public NotInheritable Class ComClassAttribute
Inherits Attribute
Herança
ComClassAttribute
Atributos

Exemplos

Para executar este exemplo, crie um novo aplicativo da Biblioteca de Classes e adicione o código a seguir a um módulo de classe.

    <ComClass(ComClass1.ClassId, ComClass1.InterfaceId, ComClass1.EventsId)>
    Public Class ComClass1
        ' Use the Region directive to define a section named COM Guids. 
#Region "COM GUIDs"
        ' These  GUIDs provide the COM identity for this class 
        ' and its COM interfaces. You can generate 
        ' these guids using guidgen.exe
        Public Const ClassId As String = "7666AC25-855F-4534-BC55-27BF09D49D46"
        Public Const InterfaceId As String = "54388137-8A76-491e-AA3A-853E23AC1217"
        Public Const EventsId As String = "EA329A13-16A0-478d-B41F-47583A761FF2"
#End Region

        Public Sub New()
            MyBase.New()
        End Sub

        Function AddNumbers(ByVal X As Integer, ByVal Y As Integer)
            AddNumbers = X + Y
        End Function
    End Class

Comentários

Use ComClassAttribute para simplificar o processo de exposição de componentes COM de Visual Basic. Os objetos COM são muito diferentes dos assemblies do .NET Framework; sem o ComClassAttribute, você precisa seguir várias etapas para gerar um objeto COM de Visual Basic. Para classes marcadas com ComClassAttribute, o compilador executa muitas dessas etapas automaticamente.

Observação

Esse atributo simplifica a criação de objetos COM. Para expor uma classe como um objeto COM, você deve compilar o projeto com a opção Registrar para Interoperabilidade COM selecionada na seção Build da caixa de diálogo Propriedades de Configuração .

Observação

Embora você também possa expor uma classe criada com Visual Basic como um objeto COM para uso de código não gerenciado, ele não é um objeto COM verdadeiro. Para obter detalhes, consulte Interoperabilidade COM em aplicativos do .NET Framework.

Construtores

Nome Description
ComClassAttribute()

Inicializa uma nova instância da classe ComClassAttribute.

ComClassAttribute(String, String, String)

Inicializa uma nova instância da classe ComClassAttribute.

ComClassAttribute(String, String)

Inicializa uma nova instância da classe ComClassAttribute.

ComClassAttribute(String)

Inicializa uma nova instância da classe ComClassAttribute.

Propriedades

Nome Description
ClassID

Obtém uma ID de classe usada para identificar exclusivamente uma classe.

EventID

Obtém uma ID de evento usada para identificar exclusivamente um evento.

InterfaceID

Obtém uma ID de interface usada para identificar exclusivamente uma interface.

InterfaceShadows

Indica que o nome da interface COM sombreia outro membro da classe ou classe base.

TypeId

Quando implementado em uma classe derivada, obtém um identificador exclusivo para esse Attribute.

(Herdado de Attribute)

Métodos

Nome Description
Equals(Object)

Retorna um valor que indica se essa instância é igual a um objeto especificado.

(Herdado de Attribute)
GetHashCode()

Devolve o código hash para esta instância.

(Herdado de Attribute)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()

Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada.

(Herdado de Attribute)
Match(Object)

Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado.

(Herdado de Attribute)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

Nome Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição.

(Herdado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera as informações de tipo de um objeto, que podem ser usadas para obter as informações de tipo de uma interface.

(Herdado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1).

(Herdado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornece acesso a propriedades e métodos expostos por um objeto.

(Herdado de Attribute)

Aplica-se a

Confira também