ComAwareEventInfo.RemoveEventHandler(Object, Delegate) Méthode

Définition

Détache un gestionnaire d’événements à partir d’un objet 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)

Paramètres

target
Object

Objet cible auquel le délégué d’événement est lié.

handler
Delegate

Délégué d’événement.

Attributs

Exceptions

L’événement ne dispose pas d’un accesseur remove public.

Impossible d’utiliser le gestionnaire qui a été transmis.

Le paramètre target a la valeur null et l’événement n’est pas statique.

- ou -

Le EventInfo n’est pas déclaré dans la cible.

Remarque : Dans .NET pour les applications du Windows Store ou dans la bibliothèque de classes portable, interceptez Exception plutôt.

L’appelant n’est pas autorisé à accéder au membre.

Remarque : Dans .NET pour les applications du Windows Store ou la bibliothèque de classes portable, interceptez l’exception de la classe de base, MemberAccessException, à la place.

Remarques

Cette méthode est similaire à la EventInfo.RemoveEventHandler(Object, Delegate) méthode, sauf qu’elle vous permet de détacher des événements d’objets COM.

Si target est un objet COM, cette méthode libère un délégué à un événement à l’aide de la ComEventsHelper.Remove(Object, Guid, Int32, Delegate) méthode .

RemoveEventHandler facilite la désinscription des récepteurs d’événements COM qui transfèrent les appels aux délégués managés correspondants. Elle nécessite les informations suivantes :

  • Objet cible lui-même (target).

  • GUID de l’interface source.

  • DispID de la méthode sur l’interface COM qui correspond à l’événement spécifié.

  • Délégué qui serait appelé lorsque l’objet COM déclenche l’événement correspondant (handler).

RemoveEventHandler recherche l’interface source COM correspondante (spécifiée comme premier paramètre du ComEventInterfaceAttribute.ComEventInterfaceAttribute(Type, Type) constructeur). Il recherche ensuite une méthode sur l’interface source dont le nom est identique au nom de l’événement. La valeur de GuidAttribute sur l’interface source est le GUID qui est passé à ComEventsHelper.Remove(Object, Guid, Int32, Delegate); la valeur de DispIDAttribute sur la méthode est la valeur DispID qui est passée à ComEventsHelper.Remove(Object, Guid, Int32, Delegate).

S’applique à