DispIdAttribute 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
指定方法、欄位或屬性的 COM 分派識別碼 (DISPID)。
public ref class DispIdAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Event | System.AttributeTargets.Field | System.AttributeTargets.Method | System.AttributeTargets.Property, Inherited=false)]
public sealed class DispIdAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Event | System.AttributeTargets.Field | System.AttributeTargets.Method | System.AttributeTargets.Property, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class DispIdAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Event | System.AttributeTargets.Field | System.AttributeTargets.Method | System.AttributeTargets.Property, Inherited=false)>]
type DispIdAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Event | System.AttributeTargets.Field | System.AttributeTargets.Method | System.AttributeTargets.Property, Inherited=false)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type DispIdAttribute = class
inherit Attribute
Public NotInheritable Class DispIdAttribute
Inherits Attribute
- 繼承
- 屬性
範例
以下範例說明如何將明確的 DISPID 指派給類別成員。
using namespace System::Runtime::InteropServices;
public ref class MyClass
{
public:
MyClass(){}
[DispId(8)]
void MyMethod(){}
int MyOtherMethod()
{
return 0;
}
[DispId(9)]
bool MyField;
};
using System.Runtime.InteropServices;
public class MyClass
{
public MyClass() {}
[DispId(8)]
public void MyMethod() {}
public int MyOtherMethod() {
return 0;
}
[DispId(9)]
public bool MyField;
}
Imports System.Runtime.InteropServices
Class SampleClass
Public Sub New()
'Insert code here.
End Sub
<DispIdAttribute(8)> _
Public Sub MyMethod()
'Insert code here.
End Sub
Public Function MyOtherMethod() As Integer
'Insert code here.
Return 0
End Function
<DispId(9)> _
Public MyField As Boolean
End Class
備註
你可以將此屬性套用到方法、欄位或屬性上。
這個屬性包含所描述之方法、字段或屬性的 DISPID。 獨特的 DISPID 通常由通用語言執行時指派,但你也可以利用此屬性為方法指派特定的 DISPID。 匯入型別函式庫時,此屬性會套用到所有有 DISPID 的方法。 這確保同一方法的任何受管理實作在暴露於 COM 時,都會保留相同的 DISPID。
建構函式
| 名稱 | Description |
|---|---|
| DispIdAttribute(Int32) |
初始化類別的新實例 |
屬性
| 名稱 | Description |
|---|---|
| TypeId |
在衍生類別中實作時,取得這個 Attribute的唯一標識碼。 (繼承來源 Attribute) |
| Value |
為該成員取得 DISPID。 |
方法
| 名稱 | Description |
|---|---|
| Equals(Object) |
傳回值,這個值表示這個實例是否等於指定的物件。 (繼承來源 Attribute) |
| GetHashCode() |
傳回這個實例的哈希碼。 (繼承來源 Attribute) |
| GetType() |
取得目前實例的 Type。 (繼承來源 Object) |
| IsDefaultAttribute() |
在衍生類別中覆寫時,指出這個實例的值是否為衍生類別的預設值。 (繼承來源 Attribute) |
| Match(Object) |
在衍生類別中覆寫時,傳回值,指出這個實例是否等於指定的物件。 (繼承來源 Attribute) |
| MemberwiseClone() |
建立目前 Object的淺層複本。 (繼承來源 Object) |
| ToString() |
傳回表示目前 物件的字串。 (繼承來源 Object) |
明確介面實作
| 名稱 | Description |
|---|---|
| _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) |