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
System.Runtime.InteropServices