ComAwareEventInfo.RemoveEventHandler(Object, Delegate) Metoda

Definice

Odpojte obslužnou rutinu události z objektu 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)

Parametry

target
Object

Cílový objekt, ke kterému je delegát události vázán.

handler
Delegate

Delegát události.

Atributy

Výjimky

Událost nemá veřejný remove přístup.

Obslužnou rutinu, která byla předána, nelze použít.

Parametr target je null a událost není statická.

nebo

Není EventInfo deklarován v cíli.

Volající nemá oprávnění k přístupu člena.

Poznámky

Tato metoda je podobná EventInfo.RemoveEventHandler(Object, Delegate) metodě, s tím rozdílem, že umožňuje odpojit události od objektů MODELU COM.

Pokud target je objekt COM, tato metoda uvolní delegáta na událost pomocí ComEventsHelper.Remove(Object, Guid, Int32, Delegate) metody.

RemoveEventHandler usnadňuje zrušení registrace jímek událostí modelu COM, které přesměrovává volání odpovídajícím spravovaným delegátům. Vyžaduje následující informace:

  • Samotný cílový objekt (target).

  • Identifikátor GUID zdrojového rozhraní.

  • DispID metody v rozhraní COM, který odpovídá zadané události.

  • Delegát, který by byl vyvolán, když objekt COM aktivuje odpovídající událost (handler).

RemoveEventHandler vyhledá odpovídající zdrojové rozhraní modelu COM (zadané jako první parametr konstruktoru ComEventInterfaceAttribute.ComEventInterfaceAttribute(Type, Type) ). Pak vyhledá metodu ve zdrojovém rozhraní, jehož název je identický s názvem události. Hodnota GuidAttribute na zdrojovém rozhraní je IDENTIFIKÁTOR GUID, který je předán ComEventsHelper.Remove(Object, Guid, Int32, Delegate); hodnota metody DispIDAttribute je DispID hodnota, která je předána ComEventsHelper.Remove(Object, Guid, Int32, Delegate).

Platí pro