ComAwareEventInfo.AddEventHandler(Object, Delegate) 方法

定義

將事件處理常式附加至 COM 物件。

public:
 override void AddEventHandler(System::Object ^ target, Delegate ^ handler);
public override void AddEventHandler (object target, Delegate handler);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public override void AddEventHandler (object target, Delegate handler);
override this.AddEventHandler : obj * Delegate -> unit
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
override this.AddEventHandler : obj * Delegate -> unit
Public Overrides Sub AddEventHandler (target As Object, handler As Delegate)

參數

target
Object

事件委派應該繫結的目標物件。

handler
Delegate

事件委派。

屬性

備註

這個方法與 EventInfo.AddEventHandler(Object, Delegate) 方法類似,不同之處在於它可讓您將事件附加至 COM 物件。

如果 target 是 COM 對象,這個方法會使用 ComEventsHelper.Combine(Object, Guid, Int32, Delegate) 方法,將委派新增至事件。

AddEventHandler 有助於註冊將呼叫轉送至對應Managed委派的 COM 事件接收。 它需要下列資訊:

  • 目標物件本身 (target) 。

  • 來源介面的 GUID。

  • COM 介面上對應至指定事件之 方法的 DispID。

  • COM 物件觸發對應事件 () handler 時所叫用的委派。

AddEventHandler 查閱對應的 COM 來源介面, (指定為建構函式) 的第一個參數 ComEventInterfaceAttribute.ComEventInterfaceAttribute(Type, Type) 。 然後,它會在名稱與事件名稱相同的來源介面上查詢方法。 來源介面上的 值 GuidAttribute 是傳遞至 ComEventsHelper.Combine(Object, Guid, Int32, Delegate)的 GUID;方法上的 值 DispIDAttribute 是傳遞至 ComEventsHelper.Combine(Object, Guid, Int32, Delegate)的 DispID 值。

適用於