SearchExpression.Execute(SearchContext,SearchExpressionExecutionFlags)
Параметры
| Параметр | Описание |
|---|---|
| searchContext | SearchContext используется для инициализации SearchExpressionContext, который будет инкапсулировать всю информацию относительно оценки выражения. |
| executionFlags | Флаги выполнения, помогающие определить, как оценивать выражение. |
| c | SearchExpressionContext, который будет содержать всю информацию, относящуюся к оценке выражения. |
Возвращаемое значение
void Возвращает перечислимый список SearchItem.
Описание
Выполнить SearchEXpression, дающее определенный SearchContext В зависимости от флагов выражение может быть оценено в рабочем потоке (по умолчанию) или в главном потоке. Возвращается перечислимый список SearchItem.
[SearchExpressionEvaluator(SearchExpressionType.Iterable | SearchExpressionType.Variadic)] [SearchExpressionEvaluatorSignatureOverload(SearchExpressionType.Number, SearchExpressionType.Iterable | SearchExpressionType.Variadic)] [Description("Extract and returns the X first results for each expression.")] public static IEnumerable<SearchItem> TakeXFirst(SearchExpressionContext c) { var argIndex = 0; var takeNumber = 1; if (c.args[0].types.HasFlag(SearchExpressionType.Number)) { ++argIndex; takeNumber = Math.Max((int)(c.args[0].GetNumberValue(takeNumber)), 0); } for ( ; argIndex < c.args.Length; ++argIndex) { var iterable = c.args[argIndex].Execute(c); var taken = 0; foreach (var item in iterable) { if (item == null) yield return null; else { yield return item; ++taken; if (taken == takeNumber) { c.Break(); break; } } } } }