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
)
参数
- startSpan
类型:Microsoft.VisualStudio.TextManager.Interop.TextSpan
[in] 指示开始元素的 TextSpan 对象。
- middleSpan
类型:Microsoft.VisualStudio.TextManager.Interop.TextSpan
[in] 指示元元素的 TextSpan 对象。
- endSpan
类型:Microsoft.VisualStudio.TextManager.Interop.TextSpan
[in] 指示结束元素的 TextSpan 范围对象。
- priority
类型:System.Int32
[in] 用于优先级值的排序重叠的三倍。
备注
如果 BraceMatching 属性返回 true,此方法调用添加三个到描述与三重元组的内部列表,排序按为重叠使用成三倍的优先级顺序 (通常使用最高优先级的三个 win:uint32)。 匹配三重元组的两个示例在 C# 中为 “foreach(...)”, “{”, “}”;和 “while (...)”, “{”, “}”。
一种方法匹配的三个重叠与嵌套循环的位置。 在此模式中,最内层循环的具有最高优先级,并最外面的循环具有最低优先级。
该基方法确定任何个范围是否包含分析操作的起点 (如为 Line 和 Column 属性)。 如果任何一个范围包括起点,范围进行规范化,添加到内部列表大小和然后绑定到已添加到另一个内部列表的 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 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。