ParseRequest Klasse

Definition

Wichtig

Diese API ist nicht CLS-kompatibel.

Stellt Informationen bereit, um einen Analysevorgang in einem Sprachdienst auszuführen.

public ref class ParseRequest
[Windows::Foundation::Metadata::WebHostHidden]
class ParseRequest
[System.CLSCompliant(false)]
public class ParseRequest
[<System.CLSCompliant(false)>]
type ParseRequest = class
Public Class ParseRequest
Vererbung
ParseRequest
Attribute

Beispiele

Dieses Beispiel zeigt, wie ein neues- ParseRequest Objekt mit einem benutzerdefinierten- AuthoringSink Objekt erstellt wird (die Klasse, für die nicht angezeigt wird).

using Microsoft.VisualStudio.Package;  
using Microsoft.VisualStudio.TextManager.Interop;  

namespace MyLanguagePackage  
{  
    class MyLanguageService : LanguageService  
    {  
        public ParseRequest CreateParseRequest(Source s,   
                                               int line,   
                                               int idx,   
                                               TokenInfo info,   
                                               string sourceText,   
                                               string fname,   
                                               ParseReason reason,   
                                               IVsTextView view)  
        {  
             ParseRequest req = new ParseRequest(line,  
                                                 idx,  
                                                 info,  
                                                 sourceText,  
                                                 fname,  
                                                 reason,  
                                                 view);  
             if (req != null)  
             {  
                  req.Sink = new MyAuthoringSink(reason, line, idx);  
             }  
             return req;  
         }  
    }  
}  

Hinweise

Diese Klasse wird verwendet, um Informationen über einen bestimmten Analyse Vorgang an einen Parser zu übermitteln und Informationen über den Analyse Vorgang zurückzugeben. Der Zugriff auf die vom Parser verwendete Quelle wird durch die-Eigenschaft als einzelner TextBlock aufgerufen Text . Dieser Text wird an den- ParseRequest Konstruktor übergeben.

Hinweise für Vererber

Alles, was ein typischer Verarbeitungsvorgang benötigt, kann in dieser Klasse gefunden werden, sodass es keinen Grund gibt, von dieser Klasse abzuleiten. Wenn Sie jedoch eine Klasse von der-Klasse ableiten müssen ParseRequest , müssen Sie eine Klasse von der LanguageService -Klasse ableiten und die- CreateParseRequest(Source, Int32, Int32, TokenInfo, String, String, ParseReason, IVsTextView) Methode überschreiben, um Ihre eigene Version der-Klasse zu instanziieren ParseRequest .

Beachten Sie, dass Sie eine Klasse von der AuthoringSink -Klasse ableiten und die- Sink Eigenschaft in einer Instanz der- ParseRequest Klasse auf Ihre Version der-Klasse festlegen müssen, wenn der Sprachdienst das Auswerten von Variablen für die Anzeige im Fenster "Auto-Debugging" unterstützt und/oder die Validierung von Breakpoints unterstützt AuthoringSink . Dies kann in der-Methode erfolgen, CreateParseRequest(Source, Int32, Int32, TokenInfo, String, String, ParseReason, IVsTextView) nachdem das- ParseRequest Objekt erstellt wurde.

Hinweise für Aufrufer

Diese Klasse wird durch einen-Rückruf der- CreateParseRequest(Source, Int32, Int32, TokenInfo, String, String, ParseReason, IVsTextView) Methode in der-Klasse instanziiert LanguageService .

Versuchen Sie nicht, die- View Eigenschaft in einem Hintergrund Thread zu verwenden: das- IVsTextView Objekt ist nur für die Vordergrund Verwendung durch die Basis Source Klasse gedacht.

Konstruktoren

ParseRequest(Boolean)

Initialisiert eine neue Instanz der ParseRequest-Klasse, um den Thread zu beenden, der für Hintergrundanalysevorgänge verwendet wird.

ParseRequest(Int32, Int32, TokenInfo, String, String, ParseReason, IVsTextView, AuthoringSink, Boolean)

Initialisiert eine neue Instanz der ParseRequest-Klasse.

Eigenschaften

Callback

Bezeichnet den Rückrufdelegat, der aufgerufen werden muss, wenn der Analysierungsvorgang abgeschlossen ist.

Col

Bezeichnet das Zeichenoffset in der ersten Zeile, um den Analysierungsvorgang zu beginnen.

DirtySpan

Gibt eine Spanne der Quelle an, die geändert wurde.

FileName

Gibt den Namen der analysierten Ressourcendatei an.

IsSynchronous

Ruft ab oder legt fest, ob die Anforderung synchron ist.

Line

Bezeichnet die Zeile, auf welcher der Analysevorgang gestartet werden soll.

Reason

Gibt den Grund an, warum der Analysierungsvorgang gestartet wurde.

Scope

Bezeichnet das AuthoringScope-Objekt, das verwendet wird, um erweiterte Informationen vom Analysierungsvorgang zurückzugeben.

Sink

Gibt ein AuthoringSink-Objekt an, das verwendet wird, um Informationen vom Analysevorgang zu enthalten.

Terminate

Gibt an, ob der Arbeitsthread für die Behandlung von Hintergrundanalysierungsvorgängen beendet werden soll.

Text

Bezeichnet den Quelltext, der analysiert werden muss.

Timestamp

Gibt einen Zeitstempel für die Analyseanforderung an.

TokenInfo

Gibt eine TokenInfo-Struktur an, die mit den Ergebnissen des Analysevorgangs gefüllt ist.

View

Bezeichnet das IVsTextView-Objekt, welches die Ansicht darstellt, welche die Quelle enthält, die analysiert wird.

Gilt für