Example #1
0
 public override void AddWhere(NewArrayExpression exp, ExpressionInfo arg)
 {
     foreach (var item in exp.Expressions)
     {
         HelperTool.AddWhere(item, arg);
     }
 }
Example #2
0
        public override void AddWhere(BinaryExpression exp, ExpressionInfo arg)
        {
            HelperTool.AddWhere(exp.Left, arg);

            arg.SetRelation(exp.NodeType.ToString());

            HelperTool.AddWhere(exp.Right, arg);
        }
Example #3
0
 public override void AddWhere(MethodCallExpression exp, ExpressionInfo arg)
 {
     arg.SetRelation(exp.Method.Name);
     foreach (var argument in exp.Arguments)
     {
         HelperTool.AddWhere(argument, arg);
     }
     HelperTool.AddWhere(exp.Object, arg);
 }
 public override void AddWhere(MemberExpression exp, ExpressionInfo arg)
 {
     if (exp.Expression != null)
     {
         // 存储变量名称,再需要解析变量值的时候获取此字段的值
         arg.ConstantName = exp.Member.Name;
         HelperTool.AddWhere(exp.Expression, arg);
         arg.SetObject(exp.Member.Name);
     }
     else
     {
         var fi  = (PropertyInfo)exp.Member;
         var val = fi.GetValue(((ConstantExpression)exp.Expression)?.Value, null);
         arg.SetObjectValue(val);
     }
 }
 public override void AddWhere(UnaryExpression exp, ExpressionInfo arg)
 {
     arg.SetObjectUnary(exp.NodeType);
     HelperTool.AddWhere(exp.Operand, arg);
 }
Example #6
0
 public override void AddWhere(LambdaExpression exp, ExpressionInfo arg)
 {
     HelperTool.AddWhere(exp.Body, arg);
 }
Example #7
0
        public override void AddShow(BinaryExpression exp, ExpressionInfo arg)
        {
            HelperTool.AddWhere(exp.Left, arg);

            HelperTool.AddWhere(exp.Right, arg);
        }