ParseRequest Classe

Definição

Importante

Esta API não está em conformidade com CLS.

Fornece informações para executar uma operação de análise em um serviço de idioma.

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
Herança
ParseRequest
Atributos

Exemplos

Este exemplo mostra como criar um novo ParseRequest objeto com um objeto personalizado AuthoringSink (a classe para a qual não é mostrado).

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;  
         }  
    }  
}  

Comentários

Essa classe é usada para comunicar informações a um analisador sobre uma operação de análise específica e para retornar informações sobre a operação de análise. A origem usada pelo analisador é acessada como um único bloco de texto por meio da Text propriedade. Esse texto é passado para o ParseRequest Construtor.

Notas aos Herdeiros

Tudo o que é necessário para uma operação de análise típica pode ser encontrado nessa classe, portanto, não deve haver nenhum motivo para derivar dessa classe. No entanto, se você precisar derivar uma classe da ParseRequest classe, deverá derivar uma classe da LanguageService classe e substituir o CreateParseRequest(Source, Int32, Int32, TokenInfo, String, String, ParseReason, IVsTextView) método para instanciar sua própria versão da ParseRequest classe.

Observe que, se o serviço de linguagem der suporte à análise de variáveis para exibição na janela depuração automática e/ou der suporte à validação de pontos de interrupção, você deverá derivar uma classe da AuthoringSink classe e definir a Sink propriedade em uma instância da ParseRequest classe para sua versão da AuthoringSink classe. Isso pode ser feito no CreateParseRequest(Source, Int32, Int32, TokenInfo, String, String, ParseReason, IVsTextView) método depois que o ParseRequest objeto é criado.

Notas aos Chamadores

Essa classe é instanciada por uma chamada para o CreateParseRequest(Source, Int32, Int32, TokenInfo, String, String, ParseReason, IVsTextView) método na LanguageService classe.

Não tente usar a View propriedade em um thread em segundo plano: o IVsTextView objeto destina-se apenas ao uso em primeiro plano pela Source classe base.

Construtores

ParseRequest(Boolean)

Inicializa uma nova instância da ParseRequest classe para encerrar o thread usado para operações de análise em segundo plano.

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

Inicializa uma nova instância da classe ParseRequest.

Propriedades

Callback

Especifica o delegado de retorno de chamada a ser chamado quando a operação de análise for concluída.

Col

Especifica o deslocamento de caractere na primeira linha para iniciar a operação de análise.

DirtySpan

Especifica um intervalo de origem que foi alterado.

FileName

Especifica o nome do arquivo de origem que está sendo analisado.

IsSynchronous

Obtém ou define se a solicitação é síncrona ou não.

Line

Especifica a linha na qual iniciar a operação de análise.

Reason

Especifica o motivo pelo qual a operação de análise foi iniciada.

Scope

Especifica o AuthoringScope objeto usado para retornar informações estendidas da operação de análise.

Sink

Especifica um AuthoringSink objeto usado para conter informações da operação de análise.

Terminate

Especifica se o thread de trabalho que trata as operações de análise em segundo plano deve ser encerrado.

Text

Especifica o texto de origem a ser analisado.

Timestamp

Especifica um carimbo de data/hora para a solicitação de análise.

TokenInfo

Especifica uma TokenInfo estrutura que é preenchida com os resultados da operação de análise.

View

Especifica o IVsTextView objeto que representa a exibição que contém a origem que está sendo analisada.

Aplica-se a