ComClassAttribute 类
更新:2007 年 11 月
ComClassAttribute 属性指示编译器添加允许类作为 COM 对象公开的元数据。
<System.AttributeUsage(System.AttributeTargets.Class, _
Inherited := False, AllowMultiple := False)> _
Public NotInheritable Class ComClassAttribute
Inherits System.Attribute
备注
使用 ComClassAttribute 来简化从 Visual Basic 公开 COM 组件的过程。COM 对象与 .NET Framework 程序集差别很大,如果没有 ComClassAttribute,则从 Visual Basic 生成 COM 对象需要经过很多步骤。对于标记为 ComClassAttribute 的类,编译器会自动执行这些步骤中的许多步骤。
说明: |
---|
此属性简化 COM 对象的创建过程。若要将类作为 COM 对象进行公开,必须使用在“配置属性”对话框的“生成”区域中选择的“注册 COM Interop”选项来编译项目。 |
说明: |
---|
虽然还可以将用 Visual Basic 创建的类作为 COM 对象进行公开以供非托管代码使用,但它并不是真正的 COM 对象。有关详细信息,请参见 .NET Framework 应用程序中的 COM 互操作性。 |
示例
若要运行本示例,请创建一个新的 Class Library 应用程序,然后将下面的代码添加到类模块中。
<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
要求
**程序集:**Visual Basic 运行库(在 Microsoft.VisualBasic.dll 中)
请参见
任务
概念
参考
System.Runtime.InteropServices