Example #1
0
        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;
                }
            }
        }