FromRuntimeCallableWrapper() public static method

public static FromRuntimeCallableWrapper ( object rcw, System.Guid sourceIid, bool createIfNotFound ) : ComEventSink
rcw object
sourceIid System.Guid
createIfNotFound bool
return ComEventSink
Exemplo n.º 1
0
        /// <summary>
        /// Adds a handler to an event.
        /// </summary>
        /// <param name="handler">The handler to be added.</param>
        /// <returns>The original event with handler added.</returns>
        private object InPlaceAdd(object handler)
        {
            ContractUtils.RequiresNotNull(handler, "handler");
            VerifyHandler(handler);

            ComEventSink comEventSink = ComEventSink.FromRuntimeCallableWrapper(_rcw, _sourceIid, true);

            comEventSink.AddHandler(_dispid, handler);
            return(this);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Removes handler from the event.
        /// </summary>
        /// <param name="handler">The handler to be removed.</param>
        /// <returns>The original event with handler removed.</returns>
        private object InPlaceSubtract(object handler)
        {
            ContractUtils.RequiresNotNull(handler, nameof(handler));
            VerifyHandler(handler);

            ComEventSink comEventSink = ComEventSink.FromRuntimeCallableWrapper(_rcw, _sourceIid, false);

            comEventSink?.RemoveHandler(_dispid, handler);

            return(this);
        }