ComClassAttribute 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
ComClassAttribute
屬性 (Attribute) 會指示編譯器加入能將類別公開成 COM 物件的中繼資料 (Metadata)。
public ref class ComClassAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=false)]
public sealed class ComClassAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=false)>]
type ComClassAttribute = class
inherit Attribute
Public NotInheritable Class ComClassAttribute
Inherits Attribute
- 繼承
- 屬性
範例
若要執行此範例,請建立新的 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
備註
使用 ComClassAttribute
來簡化從 Visual Basic 公開 COM 元件的程式。 COM 物件與 .NET Framework元件非常不同;如果沒有 ComClassAttribute
,您必須遵循幾個步驟,從 Visual Basic 產生 COM 物件。 針對標示為 ComClassAttribute
的類別,編譯器會自動執行許多這些步驟。
注意
這個屬性可簡化 COM 物件的建立。 若要將類別公開為 COM 物件,您必須使用 [組態屬性] 對話方塊的 [建置] 區段中選取的 [註冊 COM Interop] 選項來編譯專案。
注意
雖然您也可以公開以 Visual Basic 建立的類別做為 COM 物件,以供 Unmanaged 程式代碼使用,但它不是真正的 COM 物件。 如需詳細資訊,請參閱 .NET Framework 應用程式中的 COM 互操作性。
建構函式
ComClassAttribute() |
初始化 |
ComClassAttribute(String) |
初始化 |
ComClassAttribute(String, String) |
初始化 |
ComClassAttribute(String, String, String) |
初始化 |
屬性
ClassID |
取得用來唯一識別類別的類別 ID。 |
EventID |
取得用來唯一識別事件的事件 ID。 |
InterfaceID |
取得用來唯一識別介面的介面 ID。 |
InterfaceShadows |
表示 COM 介面名稱會遮蔽類別或基底類別的另一個成員。 |
TypeId |
在衍生類別中實作時,取得這個 Attribute 的唯一識別碼。 (繼承來源 Attribute) |
方法
Equals(Object) |
傳回值,這個值指出此執行個體是否與指定的物件相等。 (繼承來源 Attribute) |
GetHashCode() |
傳回這個執行個體的雜湊碼。 (繼承來源 Attribute) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
IsDefaultAttribute() |
在衍生類別中覆寫時,表示這個執行個體的值是衍生類別的預設值。 (繼承來源 Attribute) |
Match(Object) |
在衍生類別中覆寫時,會傳回值,表示這個執行個體是否等於指定物件。 (繼承來源 Attribute) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |
明確介面實作
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
將一組名稱對應至一組對應的分派識別項 (Dispatch Identifier)。 (繼承來源 Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
擷取物件的類型資訊,可以用來取得介面的類型資訊。 (繼承來源 Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
擷取物件提供的類型資訊介面數目 (0 或 1)。 (繼承來源 Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
提供物件所公開的屬性和方法的存取權。 (繼承來源 Attribute) |