protected void EncapsulateNoValue(LogicalExpression expression)
        {
            if (expression is ValueExpression)
            {
                expression.Accept(this);
            }
            else
            {
                Result.Append("(");
                expression.Accept(this);

                // Trim spaces before adding a closing parenthesis
                while (Result[Result.Length - 1] == ' ')
                {
                    Result.Remove(Result.Length - 1, 1);
                }

                Result.Append(") ");
            }
        }
 private object Evaluate(LogicalExpression expression)
 {
     expression.Accept(this);
     return(Result);
 }
示例#3
0
 public BinaryExpression Modulo(LogicalExpression operand)
 {
     return(new BinaryExpression(BinaryExpressionType.Modulo, this, operand));
 }
示例#4
0
 public BinaryExpression NotEqual(LogicalExpression operand)
 {
     return(new BinaryExpression(BinaryExpressionType.NotEqual, this, operand));
 }
示例#5
0
 public BinaryExpression And(LogicalExpression operand)
 {
     return(new BinaryExpression(BinaryExpressionType.And, this, operand));
 }
示例#6
0
 public BinaryExpression Minus(LogicalExpression operand)
 {
     return(new BinaryExpression(BinaryExpressionType.Minus, this, operand));
 }
示例#7
0
 public BinaryExpression GreaterThan(LogicalExpression operand)
 {
     return(new BinaryExpression(BinaryExpressionType.Greater, this, operand));
 }
示例#8
0
 public BinaryExpression LesserOrEqualThan(LogicalExpression operand)
 {
     return(new BinaryExpression(BinaryExpressionType.LesserOrEqual, this, operand));
 }
示例#9
0
 public BinaryExpression EqualsTo(LogicalExpression operand)
 {
     return(new BinaryExpression(BinaryExpressionType.Equal, this, operand));
 }
示例#10
0
 public BinaryExpression RightShift(LogicalExpression operand)
 {
     return(new BinaryExpression(BinaryExpressionType.RightShift, this, operand));
 }
示例#11
0
 public BinaryExpression DividedBy(LogicalExpression operand)
 {
     return(new BinaryExpression(BinaryExpressionType.Div, this, operand));
 }
示例#12
0
 public BinaryExpression BitwiseXOr(LogicalExpression operand)
 {
     return(new BinaryExpression(BinaryExpressionType.BitwiseXOr, this, operand));
 }
示例#13
0
 public BinaryExpression Mult(LogicalExpression operand)
 {
     return(new BinaryExpression(BinaryExpressionType.Times, this, operand));
 }