ComAwareEventInfo.AddEventHandler(Object, Delegate) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将事件处理程序附加到 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)
参数
- target
- Object
事件委托应绑定到的目标对象。
- handler
- Delegate
事件委托。
- 属性
注解
此方法类似于 方法, EventInfo.AddEventHandler(Object, Delegate) 只不过它允许将事件附加到 COM 对象。
如果 target
是 COM 对象,则此方法使用 ComEventsHelper.Combine(Object, Guid, Int32, Delegate) 方法向事件添加委托。
AddEventHandler 有助于注册将调用转发到相应托管委托的 COM 事件接收器。 它需要以下信息:
目标对象本身 (
target
) 。源接口的 GUID。
COM 接口上对应于指定事件的方法的 DispID。
当 COM 对象触发相应的事件 ()
handler
时将调用的委托。
AddEventHandler 查找相应的 COM 源接口 (指定为构造函数) 的第一个参数 ComEventInterfaceAttribute.ComEventInterfaceAttribute(Type, Type) 。 然后,它会在源接口上查找名称与事件名称相同的方法。 源接口上的 值 GuidAttribute
是传递给 ComEventsHelper.Combine(Object, Guid, Int32, Delegate)的 GUID;方法上的 值 DispIDAttribute
是传递给 ComEventsHelper.Combine(Object, Guid, Int32, Delegate)的 DispID 值。