Classe ParseRequest
fornisce informazioni per eseguire un'operazione di analisi in un servizio di linguaggio.
Questa API non è conforme a CLS.
Gerarchia di ereditarietà
System.Object
Microsoft.VisualStudio.Package.ParseRequest
Spazio dei nomi: Microsoft.VisualStudio.Package
Assembly: 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.9.0 (in Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
Microsoft.VisualStudio.Package.LanguageService.10.0 (in Microsoft.VisualStudio.Package.LanguageService.10.0.dll)
Sintassi
'Dichiarazione
<CLSCompliantAttribute(False)> _
Public Class ParseRequest
[CLSCompliantAttribute(false)]
public class ParseRequest
Il tipo ParseRequest espone i seguenti membri.
Costruttori
Nome | Descrizione | |
---|---|---|
ParseRequest(Boolean) | Inizializza una nuova istanza di ParseRequest classe per interrompere il thread utilizzato per le operazioni di analisi in background. | |
ParseRequest(Int32, Int32, TokenInfo, String, String, ParseReason, IVsTextView, AuthoringSink, Boolean) | Inizializza una nuova istanza di ParseRequest classe. |
In alto
Proprietà
Nome | Descrizione | |
---|---|---|
Callback | Specifica il delegato di callback da chiamare quando l'operazione di analisi è stata completata. | |
Col | Specifica l'offset del carattere nella prima riga per avviare l'operazione di analisi. | |
DirtySpan | Specifica un intervallo di origine a cui è stata modificata. | |
FileName | Specifica il nome del file di origine che viene analizzato. | |
IsSynchronous | Ottiene o imposta un valore che indica se la richiesta è sincrona. | |
Line | Specifica la riga in cui avviare l'operazione di analisi. | |
Reason | Specifica il motivo che l'operazione di analisi è stata avviata. | |
Scope | specifica AuthoringScope oggetto utilizzato per restituire informazioni estese dall'operazione di analisi. | |
Sink | specifica AuthoringSink oggetto utilizzato per contenere informazioni dall'operazione di analisi. | |
Terminate | Specifica se le operazioni di analisi in background di gestione dei thread di lavoro devono terminare. | |
Text | specifica il testo originale da analizzare. | |
Timestamp | specifica un timestamp per la richiesta di analisi. | |
TokenInfo | Specifica un oggetto TokenInfo strutturare il quale viene inserito risultati dell'operazione di analisi. | |
View | specifica IVsTextView oggetto che rappresenta la visualizzazione contenente il database di origine che sta analizzando. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
Equals | Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object) | |
Finalize | Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object) | |
GetHashCode | Funge da funzione hash per un determinato tipo. (Ereditato da Object) | |
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) | |
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) | |
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
In alto
Note
Questa classe viene utilizzata per passare informazioni a un parser su un'operazione di analisi specifico e restituire informazioni sull'operazione di analisi.Il database di origine utilizzato dal parser viene eseguito come un singolo blocco di testo con Text proprietà.Questo testo viene passato a ParseRequest costruttore.
Note per gli implementatori
Tutto che le esigenze tipiche di un'operazione di analisi possano essere trovati in questa classe pertanto non deve essere motivo derivare da questa classe.Tuttavia, se è necessario derivare una classe da CreateParseRequest classificare, è necessario derivare una classe da ParseRequest classificare e override di ParseRequest metodo per creare un'istanza della propria versione di LanguageService classe.
Si noti che se il servizio di linguaggio si desidera supportare le variabili di analisi per la visualizzazione in automobili convalida di debug dei punti di interruzione, di supporto e/o la finestra è necessario derivare una classe da AuthoringSink classificare e impostare Sink proprietà in un'istanza di ParseRequest classe alla versione di AuthoringSink classe.Questa operazione può essere eseguita in CreateParseRequest metodo dopo ParseRequest viene creato l'oggetto.
Note per i chiamanti
Questa classe viene creata un'istanza da una chiamata a CreateParseRequest metodo in LanguageService classe.
non tentare di utilizzare View proprietà in un thread in background: IVsTextView l'oggetto è utile solo per l'utilizzo in primo piano dalla base Source classe.
Esempi
In questo esempio viene illustrato come creare un nuovo ParseRequest oggetto con un oggetto personalizzato AuthoringSink oggetto (la classe per il quale non viene mostrata).
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;
}
}
}
Codice thread safe
Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.