DispIdAttribute 類別

定義

指定方法、欄位或屬性的 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
繼承
DispIdAttribute
屬性

範例

以下範例說明如何將明確的 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)

初始化類別的新實例 DispIdAttribute ,並指定 DISPID。

屬性

名稱 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)

適用於