Esempio n. 1
0
        public object Evaluate(DynamicTypeGenerator.Invokations.InvokationContext context)
        {
            var hostInvokationContext = CreateHostInvokationContext(context);

            var retVal = hostEvaluator.Evaluate(hostInvokationContext);

            retVal = RedifineRetVal(retVal, context.ReturnType);

            return(retVal);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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,
            });
        }