internal protected virtual Func<object[], object> ToDelegate(ref MethodInfo method, OverloadResolver resolver, RestrictedArguments args, bool[] hasBeenUsed) { if (_index == -1) { return (_) => null; } GetCallableMethod(args, ref method); Func<object[], object> conv = resolver.GetConvertor(_index + 1, args.GetObject(_index), null, method.DeclaringType); if (conv != null) { return conv; } return (Func<object[], object>)Delegate.CreateDelegate( typeof(Func<object[], object>), _index + 1, typeof(ArgBuilder).GetMethod("ArgumentRead")); }
protected internal override Func<object[], object> ToDelegate(OverloadResolver resolver, RestrictedArguments args, bool[] hasBeenUsed) { Func<object[], object> conv = resolver.GetConvertor(_index + 1, args.GetObject(_index), ParameterInfo, _parameterType); if (conv != null) { return conv; } return (Func<object[], object>)Delegate.CreateDelegate( typeof(Func<object[], object>), _index + 1, typeof(ArgBuilder).GetMethod("ArgumentRead")); }