Sdílet prostřednictvím


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 by se měl delegát události svázat.

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

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ý se předává do ComEventsHelper.Combine(Object, Guid, Int32, Delegate). Hodnota DispIDAttribute metody je hodnota DispID, která je předána do ComEventsHelper.Combine(Object, Guid, Int32, Delegate).

Platí pro