ComAwareEventInfo.RemoveEventHandler(Object, Delegate) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Oddělí 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řístup.
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á oprávnění pro přístup ke členu.
Poznámka: V .NET pro aplikace pro Windows Store nebo v knihovně přenosných 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 výjimkou toho, ž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í na odpovídající spravované delegáty. Vyžaduje následující informace:
Samotný cílový objekt (
target
).Identifikátor GUID zdrojového rozhraní.
DispID metody v rozhraní MODELU 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ý se předává do ComEventsHelper.Remove(Object, Guid, Int32, Delegate). Hodnota DispIDAttribute
metody je hodnota DispID, která je předána do ComEventsHelper.Remove(Object, Guid, Int32, Delegate).