Condividi tramite


ComClassAttribute Classe

Definizione

L'attributo ComClassAttribute comunica al compilatore di aggiungere i metadati che consentono di esporre una classe come oggetto 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
Ereditarietà
ComClassAttribute
Attributi

Esempio

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

Commenti

Usare ComClassAttribute per semplificare il processo di esposizione dei componenti COM da Visual Basic. Gli oggetti COM sono molto diversi dagli assembly .NET Framework; senza , ComClassAttributeè necessario seguire una serie di passaggi per generare un oggetto COM da Visual Basic. Per le classi contrassegnate con ComClassAttribute, il compilatore esegue automaticamente molti di questi passaggi.

Nota

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

Nota

Anche se è anche possibile esporre una classe creata con Visual Basic come oggetto COM per il codice non gestito da usare, non è un vero oggetto COM. Per informazioni dettagliate, vedere Interoperabilità COM nelle applicazioni .NET Framework.

Costruttori

ComClassAttribute()

Inizializza una nuova istanza della classe ComClassAttribute.

ComClassAttribute(String)

Inizializza una nuova istanza della classe ComClassAttribute.

ComClassAttribute(String, String)

Inizializza una nuova istanza della classe ComClassAttribute.

ComClassAttribute(String, String, String)

Inizializza una nuova istanza della classe ComClassAttribute.

Proprietà

ClassID

Ottiene un ID di classe utilizzato per identificare una classe in modo univoco.

EventID

Ottiene un ID di evento utilizzato per identificare un evento in modo univoco.

InterfaceID

Ottiene un ID di interfaccia utilizzato per identificare un'interfaccia in modo univoco.

InterfaceShadows

Indica che il nome dell'interfaccia COM nasconde un altro membro della classe o della classe base.

TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.

(Ereditato da Attribute)

Metodi

Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

(Ereditato da Attribute)
GetHashCode()

Restituisce il codice hash per l'istanza.

(Ereditato da Attribute)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IsDefaultAttribute()

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.

(Ereditato da Attribute)
Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.

(Ereditato da Attribute)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

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

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.

(Ereditato da Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.

(Ereditato da Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).

(Ereditato da Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.

(Ereditato da Attribute)

Si applica a

Vedi anche