public static IFigures Query(this IFigures figures, Func <IFigure, bool> evaluator) { IFigures view = figures.Exposition = (IFigures)figures.FiguresType.New(); view.Add(figures.AsEnumerable().AsQueryable().Where(evaluator)); return(view); }
/// <summary> /// The Query. /// </summary> /// <param name="stage">The stage<see cref="int"/>.</param> /// <returns>The <see cref="IFigure[]"/>.</returns> public IFigure[] Query(int stage = 1) { termsReducer.Clear(); termsReducer.Add(Reducer.AsEnumerable().Concat(Terms.AsEnumerable()).ToArray()); expression.Conditions = termsReducer; termsBuffer = termsReducer; return(figures.AsEnumerable().AsQueryable().Where(expression.CreateExpression(stage).Compile()).ToArray()); }