private static object[] Parameters(MethodInfo method, string[] args)
{
var declaredParameters = method.GetParameters();
if (declaredParameters.Length != args.Length)
throw new Exception("Parameter count mismatch.");
if (declaredParameters.Length == 0)
return null;
return args
.Take(declaredParameters.Length)
.Select((str, i) => Convert.ChangeType(str, declaredParameters[i].ParameterType))
.ToArray();
}