ParseRequest 类
在语言服务中提供信息执行分析操作。
此 API 不兼容 CLS。
继承层次结构
System.Object
Microsoft.VisualStudio.Package.ParseRequest
命名空间: Microsoft.VisualStudio.Package
程序集: Microsoft.VisualStudio.Package.LanguageService(在 Microsoft.VisualStudio.Package.LanguageService.dll 中)
Microsoft.VisualStudio.Package.LanguageService.11.0(在 Microsoft.VisualStudio.Package.LanguageService.11.0.dll 中)
Microsoft.VisualStudio.Package.LanguageService.9.0(在 Microsoft.VisualStudio.Package.LanguageService.9.0.dll 中)
Microsoft.VisualStudio.Package.LanguageService.10.0(在 Microsoft.VisualStudio.Package.LanguageService.10.0.dll 中)
语法
声明
<CLSCompliantAttribute(False)> _
Public Class ParseRequest
[CLSCompliantAttribute(false)]
public class ParseRequest
ParseRequest 类型公开以下成员。
构造函数
名称 | 说明 | |
---|---|---|
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 对象。 |
页首
方法
名称 | 说明 | |
---|---|---|
Equals | 确定指定的对象是否等于当前对象。 (继承自 Object。) | |
Finalize | 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。) | |
GetHashCode | 用作特定类型的哈希函数。 (继承自 Object。) | |
GetType | 获取当前实例的 Type。 (继承自 Object。) | |
MemberwiseClone | 创建当前 Object 的浅表副本。 (继承自 Object。) | |
ToString | 返回表示当前对象的字符串。 (继承自 Object。) |
页首
备注
此类用于传达信息对特定分析操作的分析器和返回有关分析操作的信息。 该分析器使用的数据源捕获为单个文本块通过 Text 属性。 此文本传递给 ParseRequest 构造函数。
对实现者的说明
典型的分析操作需要可在此类中找到因此的内容应在没有原因从此类派生。 但是,在中,如果需要从 ParseRequest 类派生类,则必须从 LanguageService 类派生类中重写 CreateParseRequest 方法实例化拥有 ParseRequest 类的版本。
请注意,如果支持显示的分析变量。 汽车 调试窗口的语言服务和/或支持断点的验证,必须从 AuthoringSink 类派生类并在 ParseRequest 类的实例的 Sink 属性设置为 AuthoringSink 类的版本。 ,在 ParseRequest 创建对象后,会在 CreateParseRequest 方法实现。
对调用者的说明
此类通过对 CreateParseRequest 方法的调用实例化在 LanguageService 类。
不要尝试使用 View 属性在后台线程: IVsTextView 对象仅表示为前台使用由基本 Source 类。
示例
此示例演示如何使用未显示) 的自定义 AuthoringSink 对象 (类创建一个新的 ParseRequest 对象。
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;
}
}
}
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。