Microsoft.Scripting.Interpreter.CallInstruction.SlowCreate C# (CSharp) Method

SlowCreate() private static method

Uses reflection to create new instance of the appropriate ReflectedCaller
private static SlowCreate ( MethodInfo info, ParameterInfo pis ) : CallInstruction
info System.Reflection.MethodInfo
pis System.Reflection.ParameterInfo
return CallInstruction
        private static CallInstruction SlowCreate(MethodInfo info, ParameterInfo[] pis) {
            List<Type> types = new List<Type>();
            if (!info.IsStatic) types.Add(info.DeclaringType);
            foreach (ParameterInfo pi in pis) {
                types.Add(pi.ParameterType);
            }
            if (info.ReturnType != typeof(void)) {
                types.Add(info.ReturnType);
            }
            Type[] arrTypes = types.ToArray();

            return (CallInstruction)Activator.CreateInstance(GetHelperType(info, arrTypes), info);
        }