ParseRequest Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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. |