AuthoringSink.MatchTriple 方法

调用将与设置三个元素内部列表。

命名空间:  Microsoft.VisualStudio.Package
程序集:   Microsoft.VisualStudio.Package.LanguageService.9.0(在 Microsoft.VisualStudio.Package.LanguageService.9.0.dll 中)
  Microsoft.VisualStudio.Package.LanguageService(在 Microsoft.VisualStudio.Package.LanguageService.dll 中)
  Microsoft.VisualStudio.Package.LanguageService.11.0(在 Microsoft.VisualStudio.Package.LanguageService.11.0.dll 中)
  Microsoft.VisualStudio.Package.LanguageService.10.0(在 Microsoft.VisualStudio.Package.LanguageService.10.0.dll 中)

语法

声明
Public Overridable Sub MatchTriple ( _
    startSpan As TextSpan, _
    middleSpan As TextSpan, _
    endSpan As TextSpan, _
    priority As Integer _
)
public virtual void MatchTriple(
    TextSpan startSpan,
    TextSpan middleSpan,
    TextSpan endSpan,
    int priority
)

参数

  • priority
    类型:System.Int32
    [in] 用于优先级值的排序重叠的三倍。

备注

如果 BraceMatching 属性返回 true,此方法调用添加三个到描述与三重元组的内部列表,排序按为重叠使用成三倍的优先级顺序 (通常使用最高优先级的三个 win:uint32)。 匹配三重元组的两个示例在 C# 中为 “foreach(...)”, “{”, “}”;和 “while (...)”, “{”, “}”。

一种方法匹配的三个重叠与嵌套循环的位置。 在此模式中,最内层循环的具有最高优先级,并最外面的循环具有最低优先级。

该基方法确定任何个范围是否包含分析操作的起点 (如为 LineColumn 属性)。 如果任何一个范围包括起点,范围进行规范化,添加到内部列表大小和然后绑定到已添加到另一个内部列表的 TripleMatch 结构。 内部列表是数组 TripleMatch 结构和调用 Braces。 为 TripleMatch 结构内定义参见示例。

示例

托管包框架用于以下结构包含按优先级排列的设置三语的元素 (例如, “foreach()”, “{”和 “}")。 请注意此结构从 BraceMatch 不要求如 MatchPair 方法的 " 示例 " 部分所述。

internal class TripleMatch : BraceMatch
{
    internal TextSpan c;

    public TripleMatch(TextSpan a, TextSpan b, TextSpan c, int priority)
        : base(a, b, priority)
    {
        this.c = c;
    }
}

.NET Framework 安全性

请参见

参考

AuthoringSink 类

Microsoft.VisualStudio.Package 命名空间