Ejemplo n.º 1
0
            public override bool TryInvoke(InvokeBinder binder, object[] args, out object result)
            {
                object[] tArgs = args;
                if (_overloadTypes.ContainsKey(args.Length))
                {
                    tArgs = _overloadTypes[args.Length].Zip(args, Tuple.Create)
                            .Select(it => it.Item2 != null ? Impromptu.InvokeConvert(it.Item2, it.Item1, @explicit: true) : null).ToArray();
                }

                var name = InvokeMemberName.Create(_name, _genericMethodParameters);

                result = _parent.InvokeStaticMethod(name, tArgs);
                return(true);
            }