ComAwareEventInfo.AddEventHandler(Object, Delegate) Metoda

Definice

Připojí obslužnou rutinu události k objektu COM.

public:
 override void AddEventHandler(System::Object ^ target, Delegate ^ handler);
public override void AddEventHandler (object target, Delegate handler);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public override void AddEventHandler (object target, Delegate handler);
override this.AddEventHandler : obj * Delegate -> unit
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
override this.AddEventHandler : obj * Delegate -> unit
Public Overrides Sub AddEventHandler (target As Object, handler As Delegate)

Parametry

target
Object

Cílový objekt, se kterým má delegát události vytvořit vazbu.

handler
Delegate

Delegát události.

Atributy

Poznámky

Tato metoda je podobná metodě s tím rozdílem EventInfo.AddEventHandler(Object, Delegate) , že umožňuje připojit události k objektům MODELU COM.

Pokud target je objekt COM, tato metoda přidá delegáta k události pomocí ComEventsHelper.Combine(Object, Guid, Int32, Delegate) metody .

AddEventHandler usnadňuje registraci 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).

AddEventHandler 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.Combine(Object, Guid, Int32, Delegate); hodnota v DispIDAttribute metodě je hodnota DispID, která je předána do ComEventsHelper.Combine(Object, Guid, Int32, Delegate).

Platí pro