ComAwareEventInfo.RemoveEventHandler(Object, Delegate) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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).