Пример #1
0
        IObjectBind IObjectBinder.BindToMethod(object target, string methodName, Type[] genericParameters, object[] arguments)
        {
            IScriptable scriptable = target as IScriptable;

            if (scriptable != null)
            {
                IObjectBind bind = scriptable.GetMethod(methodName, null);
                if (bind == null)
                {
                    bind = base.BindToMethod(scriptable.Instance, methodName, genericParameters, arguments);
                }
                else
                {
                    return(new DynamicMethodBind(scriptable, bind, arguments));
                }

                if (bind != null)
                {
                    return(bind);
                }
            }

            return(base.BindToMethod(target, methodName, genericParameters, arguments));
        }