Compartilhar via


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 de 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 do Visual Basic. Os objetos COM são muito diferentes de .NET Framework assemblies; sem o ComClassAttribute, você precisa seguir várias etapas para gerar um objeto COM do 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 o 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 .NET Framework.

Construtores

ComClassAttribute()

Inicializa uma nova instância da classe ComClassAttribute.

ComClassAttribute(String)

Inicializa uma nova instância da classe ComClassAttribute.

ComClassAttribute(String, String)

Inicializa uma nova instância da classe ComClassAttribute.

ComClassAttribute(String, String, String)

Inicializa uma nova instância da classe ComClassAttribute.

Propriedades

ClassID

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

EventID

Obtém uma ID do 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 da classe base.

TypeId

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

(Herdado de Attribute)

Métodos

Equals(Object)

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

(Herdado de Attribute)
GetHashCode()

Retorna o código hash para a 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 Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

_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 para um objeto, que pode ser usado para obter as informações de tipo para 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