版本: Unity 6 (6000.0)
语言英语
  • C#

SearchQueryError

UnityEditor.Search 类

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交的内容,但我们确实会阅读用户提出的每项建议并进行必要的更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请在几分钟后 重试。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

表示查询解析错误。

此类仅在执行搜索时 搜索提供程序 的上下文中使用。它允许 搜索提供程序 在解析搜索查询期间报告错误。以下是如何使用 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 调用。

在搜索窗口中,当没有结果可用时会显示错误。 .

属性

context记录此错误的上下文。
index发生错误的索引。
length正在解析的块的长度。
provider记录此错误的搜索提供程序。
reason错误的原因。
type查询错误的类型。

构造函数

SearchQueryError创建新的 SearchQueryError。