예제 #1
0
        private Action <Filter, Filter> LogicalBuilder(LogicalFilter filter)
        {
            switch (filter.Logical)
            {
            case LogicalOperatorString.And:
                return(AndAlso);

            case LogicalOperatorString.Or:
                return(OrElse);

            default: throw new NotSupportedException($"Logical operator '{filter.Logical}' not supported.");
            }
        }
예제 #2
0
        private Func <Filter, Filter, FilterExpressionBuilder <T> > LogicalBuilder(LogicalFilter filter)
        {
            switch (filter.Logical)
            {
            case LogicalOperatorString.And:
                return(AndAlso);

            case LogicalOperatorString.Or:
                return(OrElse);

            default:
                throw new NotSupportedException($"Logical operator not supported: {filter.Logical}.");
            }
        }
예제 #3
0
 public override void Visit(LogicalFilter filter) =>
 LogicalBuilder(filter)(filter.Left, filter.Right);