ComClassAttribute Classe

Definição

O ComClassAttribute atributo instrui o compilador a adicionar metadados que permitam 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 uma nova aplicação de Biblioteca de Classes e adicione o seguinte código a um módulo de classes.

    <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

Observações

Use ComClassAttribute para simplificar o processo de expor componentes COM a partir de Visual Basic. Os objetos COM são muito diferentes dos assemblies .NET Framework; sem o ComClassAttribute, é necessário seguir vários passos para gerar um objeto COM a partir de Visual Basic. Para classes marcadas com ComClassAttribute, o compilador executa muitos destes passos automaticamente.

Note

Este atributo simplifica a criação de objetos COM. Para expor uma classe como objeto COM, deve compilar o projeto com a opção Registar para Interoperação COM selecionada na secção Build da caixa de diálogo Propriedades de Configuração .

Note

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

Construtores

Name Description
ComClassAttribute()

Inicializa uma nova instância da ComClassAttribute classe.

ComClassAttribute(String, String, String)

Inicializa uma nova instância da ComClassAttribute classe.

ComClassAttribute(String, String)

Inicializa uma nova instância da ComClassAttribute classe.

ComClassAttribute(String)

Inicializa uma nova instância da ComClassAttribute classe.

Propriedades

Name Description
ClassID

Obtém um ID de classe usado para identificar uma classe de forma única.

EventID

Obtém um ID de evento usado para identificar de forma única um evento.

InterfaceID

Obtém um ID de interface usado para identificar de forma única uma interface.

InterfaceShadows

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

TypeId

Quando implementado numa classe derivada, obtém um identificador único para esta Attribute.

(Herdado de Attribute)

Métodos

Name Description
Equals(Object)

Devolve um valor que indica se esta instância é igual a um objeto especificado.

(Herdado de Attribute)
GetHashCode()

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

(Herdado de Attribute)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()

Quando sobrescrito numa classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada.

(Herdado de Attribute)
Match(Object)

Quando sobrescrito numa classe derivada, devolve um valor que indica se esta instância é igual a um objeto especificado.

(Herdado de Attribute)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Implementações de Interface Explícita

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

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho.

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

Recupera a informação de tipo de um objeto, que pode ser usada para obter a informação de tipo para uma interface.

(Herdado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

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

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

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

(Herdado de Attribute)

Aplica-se a

Ver também