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

イベント デリゲート。

属性

注釈

このメソッドは、COM オブジェクトにイベントを EventInfo.AddEventHandler(Object, Delegate) アタッチできる点を除いて、 メソッドに似ています。

が COM オブジェクトの場合 target 、このメソッドは メソッドを使用してデリゲートをイベントに ComEventsHelper.Combine(Object, Guid, Int32, Delegate) 追加します。

AddEventHandler は、対応するマネージド デリゲートに呼び出しを転送する 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 値です。

適用対象