Freigeben über


ComClassAttribute-Klasse

Aktualisiert: November 2007

Das ComClassAttribute-Attribut weist den Compiler an, Metadaten hinzuzufügen, mit denen eine Klasse als COM-Objekt offen gelegt werden kann.

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

Hinweise

Mit ComClassAttribute können Sie das Verfügbarmachen von COM-Komponenten unter Visual Basic vereinfachen. COM-Objekte unterscheiden sich deutlich von .NET Framework-Assemblys. Ohne ComClassAttribute müssten Sie eine Reihe von Schritten ausführen, um ein COM-Objekt unter Visual Basic zu generieren. Bei Klassen, die mit ComClassAttribute gekennzeichnet sind, führt der Compiler viele dieser Schritte automatisch aus.

Hinweis:

Dieses Attribut vereinfacht die Erstellung von COM-Objekten. Um eine Klasse als COM-Objekt verfügbar zu machen, müssen Sie zum Kompilieren des Projekts im Dialogfeld Konfigurationseigenschaften im Abschnitt Erstellen die Option Für COM-Interop registrieren auswählen.

Hinweis:

Sie können zwar auch eine mit Visual Basic erstellte Klasse als COM-Objekt für nicht verwalteten Code verfügbar machen, allerdings handelt es sich dann nicht um ein echtes COM-Objekt. Ausführliche Informationen finden Sie unter COM-Interoperabilität in .NET Framework-Anwendungen.

Beispiel

Erstellen Sie zum Ausführen dieses Beispiels eine neue Class Library-Anwendung, und fügen Sie einem Klassenmodul den folgenden Code hinzu.

    <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

Anforderungen

Namespace:Microsoft.VisualBasic

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

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Erstellen von COM-Objekten in Visual Basic

Konzepte

Anwenden von Interop-Attributen

In Visual Basic verwendete Attribute

Referenz

ComClassAttribute-Klassenmember

VBFixedArrayAttribute-Klasse

VBFixedStringAttribute-Klasse

System.Runtime.InteropServices

Weitere Ressourcen

Attribute in Visual Basic