AuthoringSink.MatchTriple(TextSpan, TextSpan, TextSpan, Int32) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Eşleşen Tripples, kalın bir tamamlanmış ifadeyi vurgulamak için kullanılır. Örneğin, bir foreach ifadesine kapanış ayracını yazdığınızda,, kapatılmış olan ifadede kalın ifadesi Ile vurgular. İlk iki kaynak bağlamı, bloğu açan deyimin başlangıcı ve sonu (örneğin, "foreach (...) {"ve üçüncü kaynak bağlamı, blok için kapatma küme ayracı (ör."} "). Ayrıca, birden çok çakışan çifte küme eşleştirme için önceliklendirilebilecek bir öncelik verilebilir.
En yüksek önceliğe sahip eşleşen çift (en büyük tamsayı değeri) kazanır.
public:
virtual void MatchTriple(Microsoft::VisualStudio::TextManager::Interop::TextSpan startSpan, Microsoft::VisualStudio::TextManager::Interop::TextSpan middleSpan, Microsoft::VisualStudio::TextManager::Interop::TextSpan endSpan, int priority);
public:
virtual void MatchTriple(Microsoft::VisualStudio::TextManager::Interop::TextSpan startSpan, Microsoft::VisualStudio::TextManager::Interop::TextSpan middleSpan, Microsoft::VisualStudio::TextManager::Interop::TextSpan endSpan, int priority);
virtual void MatchTriple(Microsoft::VisualStudio::TextManager::Interop::TextSpan startSpan, Microsoft::VisualStudio::TextManager::Interop::TextSpan middleSpan, Microsoft::VisualStudio::TextManager::Interop::TextSpan endSpan, int priority);
public virtual void MatchTriple (Microsoft.VisualStudio.TextManager.Interop.TextSpan startSpan, Microsoft.VisualStudio.TextManager.Interop.TextSpan middleSpan, Microsoft.VisualStudio.TextManager.Interop.TextSpan endSpan, int priority);
abstract member MatchTriple : Microsoft.VisualStudio.TextManager.Interop.TextSpan * Microsoft.VisualStudio.TextManager.Interop.TextSpan * Microsoft.VisualStudio.TextManager.Interop.TextSpan * int -> unit
override this.MatchTriple : Microsoft.VisualStudio.TextManager.Interop.TextSpan * Microsoft.VisualStudio.TextManager.Interop.TextSpan * Microsoft.VisualStudio.TextManager.Interop.TextSpan * int -> unit
Public Overridable Sub MatchTriple (startSpan As TextSpan, middleSpan As TextSpan, endSpan As TextSpan, priority As Integer)
Parametreler
- priority
- Int32
'ndaki Çakışan Üçlü değerleri sıralamak için kullanılan bir öncelik değeri.
Örnekler
Aşağıdaki yapı, yönetilen paket çerçevesi tarafından, öncelikli üç dil öğeleri kümesi (örneğin, " foreach() ", "" { ve "") içerecek şekilde kullanılır } . Bu yapının, BraceMatch yöntemin örnek bölümünde açıklandığı gibi yapıdan türediğini unutmayın 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;
}
}
Açıklamalar
Özelliği döndürülürse BraceMatching true , bu yöntem, çakışan Üçlü düzende kullanılan, artan Üçlü sırada (genellikle örtüşen üçlü ve WINS için en yüksek öncelik), eşleşen engelleri açıklayan bir iç listeye Üçlü eklemek için çağrılır. C# ' deki bir " foreach(...) ", " { ", " } "; ve " while (...) ", " { ", " } " ile eşleşen üç örnek vardır.
Eşleşen Üçlü çakışma ile eşleşen bir yol iç içe döngülerle aynıdır. Bu düzende en içteki döngü en yüksek önceliğe sahiptir ve en dıştaki döngü en düşük önceliğe sahiptir.
Taban yöntemi, yayılmadan herhangi birinin ayrıştırma işleminin başlangıç noktasını (ve özellikleri tarafından belirtilen şekilde) kapsamadığını belirler Line Column . Yayılmalar başlangıç noktasını içeriyorsa, yayılmalar normalleştirildir, iç yayılma listesine eklenir ve daha sonra TripleMatch başka bir iç listeye eklenen bir yapıya paketlenmiştir. İç liste bir TripleMatch Yapı dizisidir ve çağırılır Braces . Yapının iç tanımı için örneğe bakın TripleMatch .