ComAwareEventInfo.RemoveEventHandler(Object, Delegate) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
COM オブジェクトからイベント ハンドラーをデタッチします。
public:
override void RemoveEventHandler(System::Object ^ target, Delegate ^ handler);
public override void RemoveEventHandler(object target, Delegate handler);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public override void RemoveEventHandler(object target, Delegate handler);
override this.RemoveEventHandler : obj * Delegate -> unit
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
override this.RemoveEventHandler : obj * Delegate -> unit
Public Overrides Sub RemoveEventHandler (target As Object, handler As Delegate)
パラメーター
- target
- Object
イベント デリゲートがバインドされているターゲット オブジェクト。
- handler
- Delegate
イベント デリゲート。
- 属性
例外
イベントにパブリック remove アクセサーがありません。
渡されたハンドラーは使用できません。
呼び出し元には、メンバーへのアクセス許可がありません。
注釈
このメソッドは EventInfo.RemoveEventHandler(Object, Delegate) メソッドに似ていますが、COM オブジェクトからイベントをデタッチできる点が異なります。
targetが COM オブジェクトの場合、このメソッドは ComEventsHelper.Remove(Object, Guid, Int32, Delegate) メソッドを使用してデリゲートをイベントに解放します。
RemoveEventHandler は、対応するマネージド デリゲートに呼び出しを転送する COM イベント シンクの登録解除を容易にします。 次の情報が必要です。
ターゲット オブジェクト自体 (
target)。ソース インターフェイスの GUID。
指定したイベントに対応する COM インターフェイス上のメソッドの DispID。
COM オブジェクトが対応するイベント (
handler) をトリガーしたときに呼び出されるデリゲート。
RemoveEventHandler は、対応する COM ソース インターフェイス ( ComEventInterfaceAttribute.ComEventInterfaceAttribute(Type, Type) コンストラクターの最初のパラメーターとして指定) を検索します。 次に、イベント名と同じ名前のソース インターフェイス上のメソッドを検索します。 ソース インターフェイスの GuidAttribute の値は、 ComEventsHelper.Remove(Object, Guid, Int32, Delegate)に渡される GUID です。メソッドの DispIDAttribute の値は、 ComEventsHelper.Remove(Object, Guid, Int32, Delegate)に渡される DispID 値です。