private static IEnumerable<Instruction> CreateParametersArrayInstructions(ILProcessor processor, MethodDefinition method, TypeReference objectTypeReference /*object*/, VariableDefinition arrayVariable /*parameters*/)
{
var createArray = new List<Instruction> {
processor.Create(OpCodes.Ldc_I4, method.Parameters.Count), //method.Parameters.Count
processor.Create(OpCodes.Newarr, objectTypeReference), // new object[method.Parameters.Count]
processor.Create(OpCodes.Stloc, arrayVariable) // var objArray = new object[method.Parameters.Count]
};
foreach (var p in method.Parameters)
createArray.AddRange(IlHelper.ProcessParam(p, arrayVariable));
return createArray;
}