Partager via


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

  • 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

Voir aussi

Référence

AuthoringSink Classe

Microsoft.VisualStudio.Package, espace de noms