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);
override this.RemoveEventHandler : obj * Delegate -> unit
abstract member RemoveEventHandler : obj * Delegate -> unit
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.

Eccezioni

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

Impossibile utilizzare il gestore passato.

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

oppure

L'oggetto EventInfo non viene dichiarato nella destinazione.

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

Il chiamante non dispone dell'autorizzazione di accesso al membro.

Nota: in .NET per le app dello Store Windows o Portable Class Library, intercettare invece l'eccezione della classe 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 utilizzando 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 sull'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