ComClassAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
L'attributo ComClassAttribute indica al compilatore di aggiungere 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à
- 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 di .NET Framework. Senza il 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.
Note
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 Compilazione della finestra di dialogo Proprietà di configurazione .
Note
Sebbene sia 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
| Nome | Descrizione |
|---|---|
| ComClassAttribute() |
Inizializza una nuova istanza della classe |
| ComClassAttribute(String, String, String) |
Inizializza una nuova istanza della classe |
| ComClassAttribute(String, String) |
Inizializza una nuova istanza della classe |
| ComClassAttribute(String) |
Inizializza una nuova istanza della classe |
Proprietà
| Nome | Descrizione |
|---|---|
| ClassID |
Ottiene un ID classe utilizzato per identificare in modo univoco una classe. |
| EventID |
Ottiene un ID evento utilizzato per identificare in modo univoco un evento. |
| InterfaceID |
Ottiene un ID di interfaccia utilizzato per identificare in modo univoco un'interfaccia. |
| InterfaceShadows |
Indica che il nome dell'interfaccia COM ombreggiato da un altro membro della classe o della classe base. |
| TypeId |
Se implementato in una classe derivata, ottiene un identificatore univoco per questo Attribute. (Ereditato da Attribute) |
Metodi
| Nome | Descrizione |
|---|---|
| Equals(Object) |
Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato. (Ereditato da Attribute) |
| GetHashCode() |
Restituisce il codice hash per questa istanza. (Ereditato da Attribute) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| IsDefaultAttribute() |
Quando sottoposto a 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 è uguale a un oggetto specificato. (Ereditato da Attribute) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Esegue il mapping di un set di nomi a un set corrispondente di identificatori dispatch. (Ereditato da Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera le informazioni sul tipo per un oggetto, che può essere utilizzato per ottenere le informazioni sul tipo per un'interfaccia. (Ereditato da Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Recupera il numero di 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 alle proprietà e ai metodi esposti da un oggetto . (Ereditato da Attribute) |