Compartir a través de


ComAwareEventInfo.RemoveEventHandler(Object, Delegate) Método

Definición

Desasocia un controlador de eventos de un objeto 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)

Parámetros

target
Object

Objeto de destino al que está enlazado el delegado de eventos.

handler
Delegate

El delegado de eventos.

Atributos

Excepciones

El evento no posee un descriptor de acceso remove público.

No se puede usar el controlador que se pasó.

El parámetro target es null y el evento no es estático.

O bien

EventInfo no se ha declarado en el destino.

Nota: En .NET para aplicaciones de la Tienda Windows o la biblioteca de clases portable, detecte Exception en su lugar.

El autor de la llamada no tiene permiso para acceder al miembro.

Nota: En .NET para aplicaciones de la Tienda Windows o la Biblioteca de clases portable, detecte la excepción de clase base, MemberAccessException, en su lugar.

Comentarios

Este método es similar al EventInfo.RemoveEventHandler(Object, Delegate) método , salvo que permite desasociar eventos de objetos COM.

Si target es un objeto COM, este método libera un delegado en un evento mediante el ComEventsHelper.Remove(Object, Guid, Int32, Delegate) método .

RemoveEventHandler facilita el registro de receptores de eventos COM que reenvía llamadas a los delegados administrados correspondientes. Requiere la siguiente información:

  • El propio objeto de destino (target).

  • GUID de la interfaz de origen.

  • DispID del método en la interfaz COM que corresponde al evento especificado.

  • Delegado que se invocaría cuando el objeto COM desencadena el evento correspondiente (handler).

RemoveEventHandler busca la interfaz de origen COM correspondiente (especificada como primer parámetro del ComEventInterfaceAttribute.ComEventInterfaceAttribute(Type, Type) constructor). A continuación, busca un método en la interfaz de origen cuyo nombre es idéntico al nombre del evento. El valor de en la interfaz de GuidAttribute origen es el GUID que se pasa a ComEventsHelper.Remove(Object, Guid, Int32, Delegate); el valor de DispIDAttribute en el método es el valor DispID que se pasa a ComEventsHelper.Remove(Object, Guid, Int32, Delegate).

Se aplica a