예제 #1
0
        private static Expression BelongsToInverseInterval(Expression variable, Expression from, Expression to)
        {
            var greaterThanOrEqualTo = DynamicBuilder.BuildOperator(ExpressionType.GreaterThanOrEqual, variable, to);
            var lessThanOrEqualFrom  = DynamicBuilder.BuildOperator(ExpressionType.LessThanOrEqual, variable, from);

            return(DynamicBuilder.BuildLogicalAnd(greaterThanOrEqualTo, lessThanOrEqualFrom));
        }
예제 #2
0
        public void TakeStep()
        {
            var addStep = DynamicBuilder.BuildOperator(ExpressionType.Add, Variable, Step);
            var convert = DynamicBuilder.BuildConvert(addStep, typeof(object));
            var assign  = Expression.Assign(Variable, convert);

            assign.RunAndDropValue();

            IsOver = !IsBelongsToInterval(Variable, From, To);
        }