Пример #1
0
 protected override ComUnwrappedMetaObject UnwrapSelf()
 {
     return(new ComUnwrappedMetaObject(
                ComObject.RcwFromComObject(Expression),
                IDispatchRestriction(),
                _self.RuntimeCallableWrapper
                ));
 }
Пример #2
0
 protected virtual ComUnwrappedMetaObject UnwrapSelf()
 {
     return(new ComUnwrappedMetaObject(
                ComObject.RcwFromComObject(Expression),
                Restrictions.Merge(ComBinderHelpers.GetTypeRestrictionForDynamicMetaObject(this)),
                ((ComObject)Value).RuntimeCallableWrapper
                ));
 }
Пример #3
0
        private DynamicMetaObject BindEvent(ComEventDesc @event)
        {
            // BoundDispEvent CreateComEvent(object rcw, Guid sourceIid, int dispid)
            Expression result =
                Expression.Call(
                    typeof(ComRuntimeHelpers).GetMethod("CreateComEvent"),
                    ComObject.RcwFromComObject(Expression),
                    Expression.Constant(@event.sourceIID),
                    Expression.Constant(@event.dispid)
                    );

            return(new DynamicMetaObject(
                       result,
                       IDispatchRestriction()
                       ));
        }