ParseRequest Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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. |