Partager via


AuthoringSink.MatchPair, méthode

Appelé pour ajouter les étendues les deux éléments couplés dans 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 MatchPair ( _
    span As TextSpan, _
    endContext As TextSpan, _
    priority As Integer _
)
public virtual void MatchPair(
    TextSpan span,
    TextSpan endContext,
    int priority
)

Paramètres

  • priority
    Type : System.Int32
    [in] valeur de priorité d'Un utilisée pour trier chevaucher des paires.

Remarques

Si la propriété d'BraceMatching retourne true, cette méthode est appelée pour ajouter les deux étendues à une liste interne qui décrit des paires de correspondance, triée dans la commande élevée (en général le plus élevée pour chevaucher des victoires de paires) qui est utilisée pour chevaucher couple.Quelques exemples des paires de correspondance sont « (", ") » ; « { », « } » ; et « < », « > ».

Une méthode où correspondant à la superposition de paires consiste à utiliser l'accolade imbriquée.Dans ce modèle, la paire le plus profond d'accolade a la priorité la plus élevée et la paire extérieure a la priorité la plus basse.

La méthode de base normalise les étendues puis les détermine si les étendues 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 l'un ou l'autre de l'étendue comprend le point de départ, les étendues sont des premières ajoutées à une liste interne d'étendues et sont puis fournies avec dans une structure d'BraceMatch ajoutée à une autre liste interne, triée dans la commande de priorité.La liste interne est un tableau de structures d'BraceMatch et est appelée Braces.Voyez l'exemple ci-dessous pour la définition interne de la structure d'BraceMatch.

Exemples

La structure suivante est utilisée par l'infrastructure managée de package pour contenir une paire classée par priorité d'éléments de langage (par exemple, « (" et ") »).

internal class BraceMatch
{
    internal TextSpan a;
    internal TextSpan b;
    internal int priority;

    public BraceMatch(TextSpan a, TextSpan b, int priority)
    {
        this.a = a;
        this.b = b;
        this.priority = priority;
    }
}

Sécurité .NET Framework

Voir aussi

Référence

AuthoringSink Classe

Microsoft.VisualStudio.Package, espace de noms