- ParameterInfo[] parameters = method.GetParameters();
- object[] newArgs = new object [parameters.Length];
- Array paramArray = Array.CreateInstance(parameters[parameters.Length - 1].ParameterType.GetElementType(),
- args.Length - (parameters.Length - 1));
- int paramArrayCount = 0;
- for (int i = 0; i < args.Length; i++) {
- if (i < (parameters.Length - 1))
- newArgs [i] = args [i];
- else {
- paramArray.SetValue (args [i], paramArrayCount);
- paramArrayCount ++;
- }
- }
- newArgs [parameters.Length - 1] = paramArray;
- args = newArgs;