Udostępnij za pośrednictwem


ComAwareEventInfo.AddEventHandler(Object, Delegate) Metoda

Definicja

Dołącza procedurę obsługi zdarzeń do obiektu 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

Obiekt docelowy, z którego powinien być powiązany delegat zdarzenia.

handler
Delegate

Delegat zdarzenia.

Atrybuty

Uwagi

Ta metoda jest podobna EventInfo.AddEventHandler(Object, Delegate) do metody, z tą różnicą, że umożliwia dołączanie zdarzeń do obiektów COM.

Jeśli target jest obiektem COM, ta metoda dodaje delegata do zdarzenia przy użyciu ComEventsHelper.Combine(Object, Guid, Int32, Delegate) metody .

AddEventHandler ułatwia rejestrowanie ujściów zdarzeń COM, które przesyłają dalej wywołania do odpowiednich delegatów zarządzanych. Wymaga to następujących informacji:

  • Sam obiekt docelowy (target).

  • Identyfikator GUID interfejsu źródłowego.

  • DispID metody w interfejsie COM, który odpowiada określonemu zdarzeniu.

  • Delegat, który zostanie wywołany, gdy obiekt COM wyzwala odpowiednie zdarzenie (handler).

AddEventHandler wyszukuje odpowiedni interfejs źródłowy COM (określony jako pierwszy parametr konstruktora ComEventInterfaceAttribute.ComEventInterfaceAttribute(Type, Type) ). Następnie wyszukuje metodę w interfejsie źródłowym, którego nazwa jest identyczna z nazwą zdarzenia. Wartość GuidAttribute interfejsu źródłowego to identyfikator GUID przekazywany do ComEventsHelper.Combine(Object, Guid, Int32, Delegate)metody ; wartość DispIDAttribute metody to wartość DispID przekazana do ComEventsHelper.Combine(Object, Guid, Int32, Delegate).

Dotyczy