ComAwareEventInfo.RemoveEventHandler(Object, Delegate) Metodo

Definizione

Scollega un gestore eventi da un oggetto 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)

Parametri

target
Object

Oggetto di destinazione a cui è associato il delegato dell'evento.

handler
Delegate

Delegato dell'evento.

Attributi

Eccezioni

L'evento non ha una funzione di accesso remove pubblica.

Non è possibile usare il gestore passato.

Il parametro target è null e l'evento non è statico.

-oppure-

L'oggetto EventInfo non è dichiarato nella destinazione.

Nota: in .NET per le app di Windows Store o nella libreria di classi portabile intercettare Exception .

Il chiamante non ha l'autorizzazione necessaria per accedere al membro.

Nota: in .NET per le app di Windows Store o nella libreria di classi portabile intercettare invece l'eccezione della classe di base, MemberAccessException, .

Commenti

Questo metodo è simile al metodo , ad eccezione del EventInfo.RemoveEventHandler(Object, Delegate) fatto che consente di scollegare gli eventi dagli oggetti COM.

Se target è un oggetto COM, questo metodo rilascia un delegato a un evento usando il ComEventsHelper.Remove(Object, Guid, Int32, Delegate) metodo .

RemoveEventHandler facilita l'annullamento della registrazione di sink di eventi COM che inoltrano le chiamate ai delegati gestiti corrispondenti. Sono necessarie le informazioni seguenti:

  • Oggetto di destinazione stesso (target).

  • GUID dell'interfaccia di origine.

  • DispID del metodo nell'interfaccia COM che corrisponde all'evento specificato.

  • Delegato che verrebbe richiamato quando l'oggetto COM attiva l'evento corrispondente (handler).

RemoveEventHandler cerca l'interfaccia di origine COM corrispondente (specificata come primo parametro del ComEventInterfaceAttribute.ComEventInterfaceAttribute(Type, Type) costruttore). Cerca quindi un metodo nell'interfaccia di origine il cui nome è identico al nome dell'evento. Il valore di nell'interfaccia di GuidAttribute origine è il GUID passato a ComEventsHelper.Remove(Object, Guid, Int32, Delegate). Il valore di DispIDAttribute nel metodo è il valore DispID passato a ComEventsHelper.Remove(Object, Guid, Int32, Delegate).

Si applica a