ComAwareEventInfo.RemoveEventHandler(Object, Delegate) Metoda

Definice

Odpojí obslužnou rutinu události od 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říslušenství.

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

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

-nebo-

Hodnota EventInfo není deklarována v cíli.

Poznámka: V .NET pro aplikace pro Windows Store nebo v přenosné knihovně tříd místo toho zachyťte Exception .

Volající nemá přístupové oprávnění k členu.

Poznámka: V .NET pro aplikace pro Windows Store nebo v přenosné knihovně tříd místo toho zachyťte výjimku MemberAccessExceptionzákladní třídy.

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 události 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í, jejíž název je shodný s názvem události. Hodnota ve GuidAttribute zdrojovém rozhraní je identifikátor GUID, který je předán do ComEventsHelper.Remove(Object, Guid, Int32, Delegate); hodnota v DispIDAttribute metodě je hodnota DispID, která je předána do ComEventsHelper.Remove(Object, Guid, Int32, Delegate).

Platí pro