コード例 #1
0
        public override Expression GetExpression(ExpressionParsingContext context)
        {
            var target     = P0.GetExpression(context);
            var targetType = target.Type;

            var member = targetType.GetMember(P2.Value);

            return(Expression.MakeMemberAccess(target, member[0]));
        }
コード例 #2
0
        public override Expression GetExpression(ExpressionParsingContext context)
        {
            var call = P0 as DotExpressionNode;

            if (call != null)
            {
                return(Expression.Call(call.P0.GetExpression(context), call.P2.Value, null, P2.GetExpressions(context)));
            }
            else
            {
                return(Expression.Invoke(P0.GetExpression(context), P2.GetExpressions(context)));
            }
        }
コード例 #3
0
 public override Expression GetExpression(ExpressionParsingContext context)
 {
     return(Expression.Divide(P0.GetExpression(context), P2.GetExpression(context)));
 }
コード例 #4
0
 public override void GetExpressions(ExpressionParsingContext context, List <Expression> expressions)
 {
     expressions.Add(P0.GetExpression(context));
     P2.GetExpressions(context, expressions);
 }
コード例 #5
0
 public override Expression GetExpression(ExpressionParsingContext context)
 {
     return(Expression.LessThanOrEqual(P0.GetExpression(context), P2.GetExpression(context)));
 }
コード例 #6
0
 public override Expression GetExpression(ExpressionParsingContext context)
 {
     return(Expression.GreaterThan(P0.GetExpression(context), P2.GetExpression(context)));
 }