Bagikan melalui


ComAwareEventInfo.AddEventHandler(Object, Delegate) Metode

Definisi

Melampirkan penanganan aktivitas ke objek 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)

Parameter

target
Object

Objek target yang harus diikat delegasi peristiwa.

handler
Delegate

Delegasi peristiwa.

Atribut

Keterangan

Metode ini mirip EventInfo.AddEventHandler(Object, Delegate) dengan metode kecuali memungkinkan Anda untuk melampirkan peristiwa ke objek COM.

Jika target adalah objek COM, metode ini menambahkan delegasi ke peristiwa dengan menggunakan ComEventsHelper.Combine(Object, Guid, Int32, Delegate) metode .

AddEventHandler memfasilitasi pendaftaran sink peristiwa COM yang meneruskan panggilan ke delegasi terkelola yang sesuai. Ini memerlukan informasi berikut:

  • Objek target itu sendiri (target).

  • GUID antarmuka sumber.

  • DispID metode pada antarmuka COM yang sesuai dengan peristiwa yang ditentukan.

  • Delegasi yang akan dipanggil saat objek COM memicu peristiwa yang sesuai (handler).

AddEventHandler mencari antarmuka sumber COM yang sesuai (ditentukan sebagai parameter pertama konstruktor ComEventInterfaceAttribute.ComEventInterfaceAttribute(Type, Type) ). Kemudian mencari metode pada antarmuka sumber yang namanya identik dengan nama peristiwa. Nilai GuidAttribute pada antarmuka sumber adalah GUID yang diteruskan ke ComEventsHelper.Combine(Object, Guid, Int32, Delegate); nilai DispIDAttribute pada metode adalah nilai DispID yang diteruskan ke ComEventsHelper.Combine(Object, Guid, Int32, Delegate).

Berlaku untuk