IKVM.Internal.DotNetTypeWrapper.DynamicOnlyMethodWrapper.ICustomInvoke C# (CSharp) Method

ICustomInvoke() private method

private ICustomInvoke ( object obj, object args, ikvm callerID ) : object
obj object
args object
callerID ikvm
return object
            object ICustomInvoke.Invoke(object obj, object[] args, [email protected] callerID)
            {
                // a DynamicOnlyMethodWrapper is an interface method, but now that we've been called on an actual object instance,
                // we can resolve to a real method and call that instead
                TypeWrapper tw = TypeWrapper.FromClass(NativeCode.ikvm.runtime.Util.getClassFromObject(obj));
                MethodWrapper mw = tw.GetMethodWrapper(this.Name, this.Signature, true);
                if (mw == null)
                {
                    throw new java.lang.AbstractMethodError(tw.Name + "." + this.Name + this.Signature);
                }
                java.lang.reflect.Method m = (java.lang.reflect.Method)mw.ToMethodOrConstructor(true);
                m.@override = true;
                return m.invoke(obj, args, callerID);
            }
DotNetTypeWrapper.DynamicOnlyMethodWrapper