Compartilhar via


Classe ParseRequest

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

Esta API não compatível com CLS. 

Hierarquia de herança

System.Object
  Microsoft.VisualStudio.Package.ParseRequest

Namespace:  Microsoft.VisualStudio.Package
Assemblies:   Microsoft.VisualStudio.Package.LanguageService (em Microsoft.VisualStudio.Package.LanguageService.dll)
  Microsoft.VisualStudio.Package.LanguageService.11.0 (em Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
  Microsoft.VisualStudio.Package.LanguageService.9.0 (em Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
  Microsoft.VisualStudio.Package.LanguageService.10.0 (em Microsoft.VisualStudio.Package.LanguageService.10.0.dll)

Sintaxe

'Declaração
<CLSCompliantAttribute(False)> _
Public Class ParseRequest
[CLSCompliantAttribute(false)]
public class ParseRequest

O tipo ParseRequest expõe os membros a seguir.

Construtores

  Nome Descrição
Método público ParseRequest(Boolean) Inicializa uma nova instância da ParseRequest classe para encerrar o thread usado para operações de análise do plano de fundo.
Método público ParseRequest(Int32, Int32, TokenInfo, String, String, ParseReason, IVsTextView, AuthoringSink, Boolean) Inicializa uma nova instância da classe ParseRequest.

Superior

Propriedades

  Nome Descrição
Propriedade pública Callback Especifica o delegado de retorno de chamada a ser chamado quando a operação de análise foi concluída.
Propriedade pública Col Especifica o deslocamento de caractere na primeira linha para iniciar a operação de análise.
Propriedade pública DirtySpan Especifica um intervalo de origem que foi alterado.
Propriedade pública FileName Especifica o nome do arquivo de origem que está sendo analisado.
Propriedade pública IsSynchronous Obtém ou define se a solicitação é síncrona ou não.
Propriedade pública Line Especifica a linha na qual deseja iniciar a operação de análise.
Propriedade pública Reason Especifica que o motivo pelo qual a operação de análise foi iniciado.
Propriedade pública Scope Especifica o AuthoringScope objeto que é usado para retornar informações estendidas de operação de análise.
Propriedade pública Sink Especifica um AuthoringSink objeto usado para conter as informações de que a operação de análise.
Propriedade pública Terminate Especifica se o segmento de trabalho, manipulação de operações de análise do plano de fundo deverá ser encerrada.
Propriedade pública Text Especifica o texto de origem a ser analisado.
Propriedade pública Timestamp Especifica um carimbo de data / hora para a solicitação de análise.
Propriedade pública TokenInfo Especifica um TokenInfo estrutura que é preenchida com os resultados da operação de análise.
Propriedade pública View Especifica o IVsTextView objeto que representa o modo de exibição que contém a fonte que está sendo analisada.

Superior

Métodos

  Nome Descrição
Método público Equals determina se o objeto especificado é igual ao objeto atual. (Herdado de Object.)
Método protegido Finalize Permite que um objeto tentar liberar recursos e realizar outras operações de limpeza antes de ser recuperados pela coleta de lixo. (Herdado de Object.)
Método público GetHashCode Serve como uma função de hash para um tipo específico. (Herdado de Object.)
Método público GetType Obtém Type da instância atual. (Herdado de Object.)
Método protegido MemberwiseClone Cria uma cópia superficial de Objectatual. (Herdado de Object.)
Método público ToString Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object.)

Superior

Comentários

Essa classe é usada para comunicar informações com um analisador sobre uma determinada operação de análise e para retornar informações sobre a operação de análise.A fonte usada pelo analisador é acessada como um único bloco de texto por meio do Text propriedade.Esse texto é passado para o ParseRequest construtor.

Observações para implementadores

Tudo o que uma operação típica de análise precisa podem ser encontrada nessa classe para que não deve haver nenhum motivo para derivar dessa classe.No entanto, se você precisar derivar uma classe da ParseRequest classe, você deve derivar uma classe a partir o LanguageService de classe e substituir o CreateParseRequest método para instanciar sua própria versão do ParseRequest classe.

Observe que, se o seu serviço de linguagem ofereça suporte à análise de variáveis para exibição na Autos janela e/ou suporte de validação de pontos de interrupção de depuração, você deve derivar uma classe a partir o AuthoringSink de classe e defina a Sink propriedade em uma instância da ParseRequest classe para sua versão do AuthoringSink classe.Isso pode ser feito CreateParseRequest método após o ParseRequest objeto é criado.

Observações para chamadores

Essa classe é instanciada por uma chamada para o CreateParseRequest método na LanguageService classe.

Não tente usar o View propriedade em um segmento de plano de fundo: a IVsTextView objeto é destinado somente para uso de primeiro plano com a base Source classe.

Exemplos

Este exemplo mostra como criar uma nova ParseRequest o objeto com um personalizado AuthoringSink (a classe para o qual não é mostrada) do objeto.

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

Acesso thread-safe

Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Namespace Microsoft.VisualStudio.Package