items | 要转换的项目组。 |
outputValueFieldName | SearchItem 中用于写入值的字段的名称。如果为 null,则写入项目内部值。 |
processHandler | 变换器函数,需要为项目返回新值。 |
IEnumerable<SearchItem>生成已转换的新项目列表。
获取一组 SearchItem,并将 processHandler 变换器函数应用于项目以设置其内部值或 outputValueField。请注意,这些项目在主线程中处理,因此允许你解决任何类型的选择器。
[Description("Convert arguments to a string allowing you to format the result.")] [SearchExpressionEvaluator(SearchExpressionType.Selector | SearchExpressionType.Text, SearchExpressionType.Iterable | SearchExpressionType.Literal | SearchExpressionType.Variadic)] [SearchExpressionEvaluatorSignatureOverload(SearchExpressionType.Iterable | SearchExpressionType.Literal | SearchExpressionType.Variadic)] public static IEnumerable<SearchItem> FormatItems(SearchExpressionContext c) { var skipCount = 0; if (SearchExpression.GetFormatString(c.args[0], out var formatStr)) skipCount++; var items = c.args.Skip(skipCount).SelectMany(e => e.Execute(c)); var dataSet = SearchExpression.ProcessValues(items, null, item => SearchExpression.FormatItem(c.search, item, formatStr)); return dataSet; }