<PackageReference Include="NUnit" Version="2.6.4" />

ConstraintOperator

public abstract class ConstraintOperator
The ConstraintOperator class is used internally by a ConstraintBuilder to represent an operator that modifies or combines constraints. Constraint operators use left and right precedence values to determine whether the top operator on the stack should be reduced before pushing a new operator.
protected int left_precedence

The precedence value used when the operator is about to be pushed to the stack.

protected int right_precedence

The precedence value used when the operator is on the top of the stack.

public object LeftContext { get; set; }

The syntax element preceding this operator

public virtual int LeftPrecedence { get; }

The precedence value used when the operator is about to be pushed to the stack.

public object RightContext { get; set; }

The syntax element folowing this operator

public virtual int RightPrecedence { get; }

The precedence value used when the operator is on the top of the stack.

protected ConstraintOperator()

public abstract void Reduce(ConstraintStack stack)

Reduce produces a constraint from the operator and any arguments. It takes the arguments from the constraint stack and pushes the resulting constraint on it.