public ILocalIndexer Invoke(MethodInfo methodInfo) { var parameters = new List <IGeneratedParameter>(); int argCount = 0; foreach (ParameterInfo info in methodInfo.GetParameters()) { argCount++; parameters.Add(new ExpressionParameter(info.ParameterType, argCount)); } actions.Add(new VariableLoadAction(method, this.LocalIndex)); return(method.Call(() => methodInfo, () => parameters)); }
public ILocalIndexer Call(GeneratedMethod info, Type returnType) { return(GeneratedMethod.Call(() => info, returnType)); }
public ILocalIndexer Call(Func <GeneratedMethod> info, Func <List <GeneratedField> > fields) { return(GeneratedMethod.Call(info, fields)); }
public ILocalIndexer Call(Func <MethodInfo> info, Func <List <IGeneratedParameter> > parameters) { return(GeneratedMethod.Call(info, parameters)); }