共用方式為


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),編譯器會自動執行這些步驟。

Note注意事項

這個屬性會簡化建立 COM 物件的程序。若要將類別公開成 COM 物件,則必須在[組態屬性] 對話方塊的 [組建] 區段,選取 [註冊 COM Interop] 選項,以編譯專案。

Note注意事項

雖然您也可以將 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 所用的屬性