Condividi tramite


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
Metodo pubblico ParseRequest(Boolean) Inizializza una nuova istanza di ParseRequest classe per interrompere il thread utilizzato per le operazioni di analisi in background.
Metodo pubblico ParseRequest(Int32, Int32, TokenInfo, String, String, ParseReason, IVsTextView, AuthoringSink, Boolean) Inizializza una nuova istanza di ParseRequest classe.

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica Callback Specifica il delegato di callback da chiamare quando l'operazione di analisi è stata completata.
Proprietà pubblica Col Specifica l'offset del carattere nella prima riga per avviare l'operazione di analisi.
Proprietà pubblica DirtySpan Specifica un intervallo di origine a cui è stata modificata.
Proprietà pubblica FileName Specifica il nome del file di origine che viene analizzato.
Proprietà pubblica IsSynchronous Ottiene o imposta un valore che indica se la richiesta è sincrona.
Proprietà pubblica Line Specifica la riga in cui avviare l'operazione di analisi.
Proprietà pubblica Reason Specifica il motivo che l'operazione di analisi è stata avviata.
Proprietà pubblica Scope specifica AuthoringScope oggetto utilizzato per restituire informazioni estese dall'operazione di analisi.
Proprietà pubblica Sink specifica AuthoringSink oggetto utilizzato per contenere informazioni dall'operazione di analisi.
Proprietà pubblica Terminate Specifica se le operazioni di analisi in background di gestione dei thread di lavoro devono terminare.
Proprietà pubblica Text specifica il testo originale da analizzare.
Proprietà pubblica Timestamp specifica un timestamp per la richiesta di analisi.
Proprietà pubblica TokenInfo Specifica un oggetto TokenInfo strutturare il quale viene inserito risultati dell'operazione di analisi.
Proprietà pubblica View specifica IVsTextView oggetto che rappresenta la visualizzazione contenente il database di origine che sta analizzando.

In alto

Metodi

  Nome Descrizione
Metodo pubblico Equals Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object)
Metodo protetto 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)
Metodo pubblico GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo protetto MemberwiseClone Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblico 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.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.Package