ComAwareEventInfo.RemoveEventHandler(Object, Delegate) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
COM オブジェクトからイベント ハンドラーをデタッチします。
public:
override void RemoveEventHandler(System::Object ^ target, Delegate ^ handler);
public override void RemoveEventHandler(object target, Delegate handler);
override this.RemoveEventHandler : obj * Delegate -> unit
abstract member RemoveEventHandler : obj * Delegate -> unit
override this.RemoveEventHandler : obj * Delegate -> unit
Public Overrides Sub RemoveEventHandler (target As Object, handler As Delegate)
パラメーター
- target
- Object
イベント デリゲートがバインドされているターゲット オブジェクト。
- handler
- Delegate
イベント デリゲート。
例外
イベントにパブリック remove アクセサーがありません。
渡されたハンドラーは使用できません。
target パラメーターはnullであり、イベントは静的ではありません。
-または-
EventInfoはターゲットで宣言されていません。
注: .NET for Windows ストア アプリ または ポータブル クラス ライブラリでは、代わりに Exception をキャッチします。
呼び出し元には、メンバーへのアクセス許可がありません。
注: < Windows Store アプリの>.NET または
注釈
このメソッドは 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 値です。