internal static bool ConvertArgs(Binder binder, object[] args, ParameterInfo[] pinfo, CultureInfo culture)
{
if (args == null)
{
if (pinfo.Length == 0)
{
return(true);
}
else
{
throw new TargetParameterCountException();
}
}
if (pinfo.Length != args.Length)
{
throw new TargetParameterCountException();
}
for (int i = 0; i < args.Length; ++i)
{
object v = binder.ChangeType(args [i], pinfo[i].ParameterType, culture);
if ((v == null) && (args [i] != null))
{
return(false);
}
args [i] = v;
}
return(true);
}