//[DebuggerStepThrough]
        ////[DebuggerHidden]
        public object Invoke(MethodInfo genericMethod, object proxy, object[] args, MixinsInstance mixins, ModuleInstance moduleInstance)
        {
            this.methodConstraintsInstance.CheckValid(proxy, args);

            CompositeMethodInstance methodInstance = this.GetInstance(genericMethod, moduleInstance);

            return mixins.Invoke(proxy, args, methodInstance);
        }
Beispiel #2
0
        //[DebuggerStepThrough]
        ////[DebuggerHidden]
        public object Invoke(MethodInfo genericMethod, object proxy, object[] args, MixinsInstance mixins, ModuleInstance moduleInstance)
        {
            this.methodConstraintsInstance.CheckValid(proxy, args);

            CompositeMethodInstance methodInstance = this.GetInstance(genericMethod, moduleInstance);

            return(mixins.Invoke(proxy, args, methodInstance));
        }
        //[DebuggerStepThrough]
        ////[DebuggerHidden]
        public object Invoke(MixinsInstance mixins, object proxy, MethodInfo method, object[] args, ModuleInstance moduleInstance)
        {
            CompositeMethodModel compositeMethod;

            if (this.methods.TryGetValue(method.ToDefinition(), out compositeMethod))
            {
                return(compositeMethod.Invoke(method, proxy, args, mixins, moduleInstance));
            }

            return(mixins.InvokeObject(proxy, args, method));
        }
        //[DebuggerStepThrough]
        ////[DebuggerHidden]
        public object Invoke(MixinsInstance mixins, object proxy, MethodInfo method, object[] args, ModuleInstance moduleInstance)
        {
            CompositeMethodModel compositeMethod;

            if (this.methods.TryGetValue(method.ToDefinition(), out compositeMethod))
            {
                return compositeMethod.Invoke(method, proxy, args, mixins, moduleInstance);
            }

            return mixins.InvokeObject(proxy, args, method);
        }
 //[DebuggerStepThrough]
 ////[DebuggerHidden]
 public object Invoke(MixinsInstance mixins, CompositeInstance compositeInstance, object proxy, MethodInfo method, object[] args, ModuleInstance moduleInstance)
 {
     return this.compositeMethodsModel.Invoke(mixins, proxy, method, args, moduleInstance);
 }
Beispiel #6
0
 //[DebuggerStepThrough]
 ////[DebuggerHidden]
 public object Invoke(MixinsInstance mixins, CompositeInstance compositeInstance, object proxy, MethodInfo method, object[] args, ModuleInstance moduleInstance)
 {
     return(this.compositeMethodsModel.Invoke(mixins, proxy, method, args, moduleInstance));
 }