public object Evaluate(DynamicTypeGenerator.Invokations.InvokationContext context) { var hostInvokationContext = CreateHostInvokationContext(context); var retVal = hostEvaluator.Evaluate(hostInvokationContext); retVal = RedifineRetVal(retVal, context.ReturnType); return(retVal); }
private static List <ArgInfo> CreateParamList(DynamicTypeGenerator.Invokations.InvokationContext context) { var paramList = new List <ArgInfo>(); foreach (var param in context.Parameters) { paramList.Add(param); } return(paramList); }
private static List <ArgInfo> CreateFieldList(DynamicTypeGenerator.Invokations.InvokationContext context) { var fieldList = new List <ArgInfo>(); foreach (var field in context.InjectedFields) { fieldList.Add(field); } return(fieldList); }
private InvokationContext CreateHostInvokationContext(DynamicTypeGenerator.Invokations.InvokationContext context) { var paramList = CreateParamList(context); var fieldList = CreateFieldList(context); return(new InvokationContext { MethodName = context.MethodName, ReturnType = context.ReturnType, Parameters = paramList, Fields = fieldList, }); }