Condividi tramite


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 la libreria di classi portabile, rilevareException invece.

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

Nota: in .NET per le app di Windows Store o la libreria di classi portabili, rilevare invece l'eccezione della classe di base, , MemberAccessException.

Commenti

Questo metodo è simile al EventInfo.RemoveEventHandler(Object, Delegate) metodo, ad eccezione del 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 semplifica la registrazione dei sink di eventi COM che inoltrano chiamate ai delegati gestiti corrispondenti. Richiede le informazioni seguenti:

  • Oggetto di destinazione (target).

  • GUID dell'interfaccia di origine.

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

  • Delegato 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 dell'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