Metodo AuthoringSink.MatchPair
Chiamato per aggiungere gli intervalli dei due elementi creati in un elenco interno.
Spazio dei nomi: Microsoft.VisualStudio.Package
Assembly: Microsoft.VisualStudio.Package.LanguageService.9.0 (in Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
Microsoft.VisualStudio.Package.LanguageService (in Microsoft.VisualStudio.Package.LanguageService.dll)
Microsoft.VisualStudio.Package.LanguageService.11.0 (in Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
Microsoft.VisualStudio.Package.LanguageService.10.0 (in Microsoft.VisualStudio.Package.LanguageService.10.0.dll)
Sintassi
'Dichiarazione
Public Overridable Sub MatchPair ( _
span As TextSpan, _
endContext As TextSpan, _
priority As Integer _
)
public virtual void MatchPair(
TextSpan span,
TextSpan endContext,
int priority
)
Parametri
- span
Tipo: Microsoft.VisualStudio.TextManager.Interop.TextSpan
[in] TextSpan oggetto che descrive l'elemento abbinato a partire da.
- endContext
Tipo: Microsoft.VisualStudio.TextManager.Interop.TextSpan
[in] TextSpan oggetto che descrive l'elemento abbinato fine.
- priority
Tipo: System.Int32
[in] Un valore di priorità utilizzato alle coppie sovrapposizione di ordinamento.
Note
se BraceMatching la proprietà restituisce true, questo metodo viene chiamato per aggiungere le due intervalli in un elenco interno che descrive la corrispondenza delle coppie, ordinato in ordine di priorità (in genere la massima priorità per le vittorie sovrapposizione delle coppie) utilizzato per far coincidere coppie.Alcuni esempi di coppie di corrispondenza sono “(", ")„; “{„, “}„; e “<„, “>„.
Un modo in cui corrispondente alla sovrapposizione delle coppie con le parentesi graffe annidate.In questa combinazione, la coppia più interna delle parentesi graffe ha la priorità più elevata e la coppia più esterna con la priorità più bassa.
Il metodo di base normalizza gli intervalli e quindi determina se gli intervalli includono il punto iniziale di analisi dell'operazione (come fornito da Line e Column proprietà).Se qualsiasi intervallo include il punto iniziale, gli intervalli innanzitutto vengono aggiunti a un elenco interno di intervalli quindi vengono inclusi in un oggetto BraceMatch struttura aggiunta a un altro elenco interno, ordinato in ordine di priorità.l'elenco interno è una matrice di BraceMatch le strutture e viene chiamata Braces.Vedere l'esempio di seguito per la definizione interna di BraceMatch struttura.
Esempi
La struttura seguente viene utilizzata dal framework gestito del pacchetto per contenere una coppia classificata in ordine di priorità gli elementi del linguaggio, ad esempio “(" e ")„).
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;
}
}
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.