Condividi tramite


Classe ComClassAttribute

Aggiornamento: novembre 2007

L'attributo ComClassAttribute indica al compilatore di aggiungere metadati che consentono di esporre una classe come un oggetto COM.

<System.AttributeUsage(System.AttributeTargets.Class, _
   Inherited := False, AllowMultiple := False)> _
Public NotInheritable Class ComClassAttribute
   Inherits System.Attribute

Note

Utilizzare ComClassAttribute per semplificare il processo di esposizione dei componenti COM da Visual Basic. Gli oggetti COM sono molto diversi dagli assembly .NET Framework. Se non si utilizza ComClassAttribute, per generare un oggetto COM da Visual Basic sarà necessario eseguire numerosi passaggi. Per le classi contrassegnate con ComClassAttribute, il compilatore esegue automaticamente molti dei passaggi necessari.

Nota:

Questo attributo semplifica la creazione di oggetti COM. Per esporre una classe come oggetto COM, è necessario compilare il progetto con l'opzione Registra per interoperabilità COM selezionata nella sezione Genera della finestra di dialogo Proprietà di configurazione.

Nota:

Sebbene sia possibile esporre come oggetto COM anche una classe creata con Visual Basic per consentirne l'utilizzo da parte del codice non gestito, non si tratta di un vero oggetto COM. Per informazioni, vedere Interoperabilità COM nelle applicazioni .NET Framework.

Esempio

Per eseguire questo esempio, creare una nuova applicazione Class Library e aggiungere il seguente codice a un modulo 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

Requisiti

Spazio dei nomi:Microsoft.VisualBasic

**Assembly:**Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)

Vedere anche

Attività

Procedura dettagliata: creazione di oggetti COM con Visual Basic

Concetti

Applicazione di attributi di interoperabilità

Attributi utilizzati in Visual Basic

Riferimenti

Membri della classe ComClassAttribute

Classe VBFixedArrayAttribute

Classe VBFixedStringAttribute

System.Runtime.InteropServices

Altre risorse

Attributi in Visual Basic