| ctx | 产生 SearchItem 的 SearchContext。 |
| item | 从中选择值来进行处理的 SearchItem。 |
| formatString | 可能包含分隔符的格式字符串。 |
string 返回一个字符串,其中分隔符已经被替换为从给定的 SearchItem 中选择的值。
获取一个格式字符串,并用从 SearchItem 中获取的选择的值替换其中的所有分隔符。
[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;
}