ParseRequest Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Важно!
Этот API несовместим с CLS.
Предоставляет информацию для выполнения синтаксического разбора в языковой службе.
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
- Наследование
-
ParseRequest
- Атрибуты
Примеры
В этом примере показано, как создать новый ParseRequest объект с пользовательским AuthoringSink объектом (класс, для которого не отображается).
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;
}
}
}
Комментарии
Этот класс используется для передачи сведений синтаксическому анализатору о конкретной операции синтаксического анализа и для получения сведений об операции синтаксического анализа. Доступ к источнику, используемому средством синтаксического анализа, осуществляется как к одному блоку текста через Text свойство. Этот текст передается в ParseRequest конструктор.
Примечания для тех, кто наследует этот метод
Все, что обычно требуется операции синтаксического анализа, можно найти в этом классе, поэтому не должно быть причин быть производным от этого класса. Однако если необходимо создать производный класс от ParseRequest класса, необходимо создать производный класс от LanguageService класса и переопределить CreateParseRequest(Source, Int32, Int32, TokenInfo, String, String, ParseReason, IVsTextView) метод для создания экземпляра собственной версии ParseRequest класса.
Обратите внимание, что если ваша языковая служба будет поддерживать синтаксический анализ переменных для вывода в окне Отладка и/или поддерживает проверку точек останова, необходимо создать класс из AuthoringSink класса и установить Sink свойство в экземпляре ParseRequest класса в качестве версии AuthoringSink класса. Это можно сделать в CreateParseRequest(Source, Int32, Int32, TokenInfo, String, String, ParseReason, IVsTextView) методе после ParseRequest создания объекта.
Примечания для тех, кто вызывает этот метод
Экземпляр этого класса создается путем вызова CreateParseRequest(Source, Int32, Int32, TokenInfo, String, String, ParseReason, IVsTextView) метода в LanguageService классе.
Не пытайтесь использовать View свойство в фоновом потоке: IVsTextView объект предназначен только для использования в основном классе базовым Source классом.
Конструкторы
| ParseRequest(Boolean) |
Инициализирует новый экземпляр класса ParseRequest чтобы завершить поток, используемый для фоновых операций анализа. |
| ParseRequest(Int32, Int32, TokenInfo, String, String, ParseReason, IVsTextView, AuthoringSink, Boolean) |
Инициализирует новый экземпляр класса ParseRequest. |
Свойства
| Callback |
Указывает делегат обратного вызова, вызываемый при завершении операции анализа. |
| Col |
Указывает смещение знака с первой строки для начала операции анализа. |
| DirtySpan |
Определяет диапазон источника, который был изменен. |
| FileName |
Задает имя анализируемого исходного файла. |
| IsSynchronous |
Получает или задает значение, указывающее, является ли запрос синхронным. |
| Line |
Указывает строку, с которой необходимо начать операцию синтаксического анализа. |
| Reason |
Указывает причину начала операции синтаксического анализа. |
| Scope |
Указывает объект AuthoringScope, используемый для возврата подробных данных из операции анализа. |
| Sink |
Указывает объект AuthoringSink, используемый для хранения сведений из операции анализа. |
| Terminate |
Указывает, должен ли рабочий поток, обрабатывающий фоновые операции анализа, завершиться. |
| Text |
Указывает исходный текст, который необходимо проанализировать. |
| Timestamp |
Определяет отметку времени для запроса синтакс. анализа. |
| TokenInfo |
Определяет структуру TokenInfo, заполняемую с результатами операции анализа. |
| View |
Указывает объект IVsTextView, представляющий представление, содержащее источник, который анализируется. |