表示查询解析错误。
此类仅在执行搜索时 搜索提供程序 的上下文中使用。它允许 搜索提供程序 在解析搜索查询期间报告错误。以下是如何使用 QueryEngine 并报告解析错误的 搜索提供程序 的示例
public IEnumerable<T> Search(SearchContext context, SearchProvider provider, IEnumerable<T> subset = null) { var query = m_QueryEngine.ParseQuery(context.searchQuery, true); if (!query.valid) { if (reportError) context.AddSearchQueryErrors(query.errors.Select(e => new SearchQueryError(e, context, provider))); return Enumerable.Empty<T>(); } m_DoFuzzyMatch = query.HasToggle("fuzzy"); IEnumerable<T> gameObjects = subset ?? m_Objects; return query.Apply(gameObjects, false); }
在前面的示例中,函数“Search”将由提供程序的 fetchItem 调用。
在搜索窗口中,当没有结果可用时会显示错误。 .
SearchQueryError | 创建新的 SearchQueryError。 |