public DynamicMethod(DynamicType type, MethodInfo methodInfo) { _type = type; _methodInfo = methodInfo; _methodParameters = _methodInfo.GetParameters(); _isVarargMethod = Values.IsVarargParameter(_methodParameters); var argIndex = 0; for (var i = 0; i < _methodParameters.Length; i++) { var p = _methodParameters[i]; if (!Values.IsContextualType(p.ParameterType)) { argIndex++; } } _inputParameters = new ParameterInfo[argIndex]; argIndex = 0; for (var i = 0; i < _methodParameters.Length; i++) { var p = _methodParameters[i]; if (!Values.IsContextualType(p.ParameterType)) { _inputParameters[argIndex++] = p; } } }