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."); } }
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}."); } }
public override void Visit(LogicalFilter filter) => LogicalBuilder(filter)(filter.Left, filter.Right);