ComClassAttribute Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
- 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(String, String, String) |
Inicializa uma nova instância da |
| ComClassAttribute(String, String) |
Inicializa uma nova instância da |
| ComClassAttribute(String) |
Inicializa uma nova instância da |
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) |