AuthoringSink.MatchTriple, méthode
Appelé pour ajouter une correspondance définie de trois éléments à une liste interne.
Espace de noms : Microsoft.VisualStudio.Package
Assemblys : Microsoft.VisualStudio.Package.LanguageService.9.0 (dans Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
Microsoft.VisualStudio.Package.LanguageService (dans Microsoft.VisualStudio.Package.LanguageService.dll)
Microsoft.VisualStudio.Package.LanguageService.11.0 (dans Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
Microsoft.VisualStudio.Package.LanguageService.10.0 (dans Microsoft.VisualStudio.Package.LanguageService.10.0.dll)
Syntaxe
'Déclaration
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
)
Paramètres
- startSpan
Type : Microsoft.VisualStudio.TextManager.Interop.TextSpan
[in] objet d'Un TextSpan indiquant l'élément commençant.
- middleSpan
Type : Microsoft.VisualStudio.TextManager.Interop.TextSpan
[in] objet d'Un TextSpan indiquant l'élément central.
- endSpan
Type : Microsoft.VisualStudio.TextManager.Interop.TextSpan
[in] objet d'étendue d'Un TextSpan indiquant l'élément de fin.
- priority
Type : System.Int32
[in] valeur de priorité d'Un utilisée pour trier chevaucher les triples.
Remarques
Si la propriété d'BraceMatching retourne true, cette méthode est appelée pour ajouter le triple à une liste interne qui décrit les triples correspondants, triée dans la commande élevée (en général le plus élevée pour chevaucher des victoires de triples) qui est utilisée pour chevaucher triple.Deux exemples d'un triple de correspondance dans C- est « foreach(...) », « { », « } » ; et « while (...) », « { », « } ».
Une méthode où la superposition correspondante de triples est avec les boucles imbriquées.Dans ce modèle, la boucle la plus profonde a la priorité la plus élevée et la boucle externe a la priorité la plus basse.
La méthode de base détermine si les étendues l'une d'elles comprennent le point de départ de l'opération d'analyse (comme donné par les propriétés d'Line et d'Column).Si les étendues l'une d'elles comprennent le point de départ, les plages normaux, ajoutées à une liste interne d'étendues, et sont puis fournies avec dans une structure d'TripleMatch qui est ajoutée à une autre liste interne.La liste interne est un tableau de structures d'TripleMatch et est appelée Braces.Voyez l'exemple pour la définition interne de la structure d'TripleMatch.
Exemples
La structure suivante est utilisée par l'infrastructure managée de package pour contenir un jeu classé par priorité d'éléments de trois langues (par exemple, « foreach() », « { », et « } ").Notez que cette structure dérive de la structure d'BraceMatch comme décrite dans la section Exemple pour la méthode d'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;
}
}
Sécurité .NET Framework
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.