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 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.

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

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