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
アクセサーがありません。
渡されたハンドラーは使用できません。
target
パラメーターは null
で、イベントは静的でありません。
- または -
EventInfo はターゲットで宣言されていません。
注: .NET for Windows ストア アプリ または ポータブル クラス ライブラリでは、代わりに catch Exception を使用します。
呼び出し元には、このメンバーに対するアクセス許可がありません。
注: Windows ストア アプリまたはポータブル クラス ライブラリ用の .NET では、代わりに基本クラスの例外 MemberAccessExceptionである をキャッチします。
注釈
このメソッドは、COM オブジェクトからイベントを EventInfo.RemoveEventHandler(Object, Delegate) デタッチできる点を除いて、 メソッドに似ています。
が COM オブジェクトの場合 target
、このメソッドは メソッドを使用してデリゲートをイベントに 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 値です。
適用対象
.NET