The ComClassAttribute attribute instructs the compiler to add metadata that allows a class to be exposed as a COM object.
<System.AttributeUsage(System.AttributeTargets.Class, _
Inherited := False, AllowMultiple := False)> _
Public NotInheritable Class ComClassAttribute
Inherits System.Attribute
Use ComClassAttribute to simplify the process of exposing COM components from Visual Basic. COM objects are very different from .NET Framework assemblies; without the ComClassAttribute, you need to follow a number of steps to generate a COM object from Visual Basic. For classes marked with ComClassAttribute, the compiler performs many of these steps automatically.
Note: |
|---|
This attribute simplifies the creation of COM objects. To expose a class as a COM object, you must compile the project with the
Register for COM Interop option selected in the Build section of the Configuration Properties dialog box.
|
To run this example, create a new Class Library application and add the following code to a class module.
<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
Namespace: Microsoft.VisualBasic
Assembly: Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)
Tasks
Concepts
Reference
Other Resources