void PushArguments(IMethodBase entity, ExpressionCollection args) { var parameters = entity.GetParameters(); for (var i=0; i<args.Count; ++i) { var parameterType = parameters[i].Type; var arg = args[i]; if (parameters[i].IsByRef) LoadAddress(arg); else LoadExpressionWithType(parameterType, arg); } }