public static Combine ( object rcw, Guid iid, int dispid, Delegate d ) : void | ||
rcw | object | |
iid | Guid | |
dispid | int | |
d | Delegate | |
return | void |
public override void AddEventHandler(object target, Delegate handler) { if (Marshal.IsComObject(target)) { // retrieve sourceIid and dispid GetDataForComInvocation(_innerEventInfo, out Guid sourceIid, out int dispid); ComEventsHelper.Combine(target, sourceIid, dispid, handler); } else { // we are dealing with a managed object - just add the delegate through reflection _innerEventInfo.AddEventHandler(target, handler); } }
public override void AddEventHandler(object target, Delegate handler) { if (Marshal.IsComObject(target)) { Guid guid; int num; GetDataForComInvocation(this._innerEventInfo, out guid, out num); new SecurityPermission(SecurityPermissionFlag.UnmanagedCode).Demand(); ComEventsHelper.Combine(target, guid, num, handler); } else { this._innerEventInfo.AddEventHandler(target, handler); } }