ComClassAttribute Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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(String) |
Inicializa uma nova instância da classe |
ComClassAttribute(String, String) |
Inicializa uma nova instância da classe |
ComClassAttribute(String, String, String) |
Inicializa uma nova instância da classe |
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) |