ComClassAttribute 類別
ComClassAttribute 屬性 (Attribute) 會指示編譯器加入能將類別公開成 COM 物件的中繼資料 (Metadata)。
命名空間: Microsoft.VisualBasic
組件: Microsoft.VisualBasic (在 microsoft.visualbasic.dll 中)
語法
'宣告
<AttributeUsageAttribute(AttributeTargets.Class, Inherited:=False, AllowMultiple:=False)> _
Public NotInheritable Class ComClassAttribute
Inherits Attribute
'用途
Dim instance As ComClassAttribute
[AttributeUsageAttribute(AttributeTargets.Class, Inherited=false, AllowMultiple=false)]
public sealed class ComClassAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Class, Inherited=false, AllowMultiple=false)]
public ref class ComClassAttribute sealed : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Class, Inherited=false, AllowMultiple=false) */
public final class ComClassAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Class, Inherited=false, AllowMultiple=false)
public final class ComClassAttribute extends Attribute
備註
如需詳細資訊,請參閱 Visual Basic 的主題 ComClassAttribute 類別。
使用 ComClassAttribute,簡化從 Visual Basic 公開 COM 元件的程序。COM 物件與 .NET Framework 組件之間的差異極大,如果沒有 ComClassAttribute,您必須遵循一些步驟從 Visual Basic 產生 COM 物件。至於標記為 ComClassAttribute 的類別 (Classe),編譯器會自動執行這些步驟。
注意事項 |
---|
這個屬性會簡化建立 COM 物件的程序。若要將類別公開成 COM 物件,則必須在[組態屬性] 對話方塊的 [組建] 區段,選取 [註冊 COM Interop] 選項,以編譯專案。 |
注意事項 |
---|
雖然您也可以將 Visual Basic 建立的類別公開為要使用的 Unmanaged 程式碼之 COM 物件,但它並不是真正的 COM 物件。如需詳細資訊,請參閱 .NET Framework 應用程式中的 COM 互通性。 |
範例
若要執行這個範例,請建立新的 [類別庫] 應用程式,然後將下列程式碼加入類別模組中。
<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
繼承階層架構
System.Object
System.Attribute
Microsoft.VisualBasic.ComClassAttribute
執行緒安全
這個型別的所有公用靜態成員 (即 Visual Basic 中的 Shared 成員) 都是安全執行緒。並非所有的執行個體成員均為安全執行緒。
平台
Windows 98、 Windows 2000 SP4、 Windows CE、 Windows Millennium Edition、 Windows Mobile for Pocket PC、 Windows Mobile for Smartphone、 Windows Server 2003、 Windows XP Media Center Edition、 Windows XP Professional x64 Edition、 Windows XP SP2、 Windows XP Starter Edition
.NET Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱系統需求一節的內容。
版本資訊
.NET Framework
支援版本:2.0、1.1、1.0
.NET Compact Framework
支援版本:2.0
請參閱
參考
ComClassAttribute 成員
Microsoft.VisualBasic 命名空間
System.Runtime.InteropServices
其他資源
ComClassAttribute 類別
Visual Basic 中的屬性
套用 Interop 屬性
ComClassAttribute 類別成員
逐步解說:使用 Visual Basic 2005 建立 COM 物件
VBFixedArrayAttribute 類別
VBFixedStringAttribute 類別
Visual Basic 所用的屬性