ISyntaxContextReceiver 接口

定义

接收编译中的每个通知 SyntaxNode 以及 a
SemanticModel 可以在生成运行之前查询以获取更多信息。

public interface ISyntaxContextReceiver
type ISyntaxContextReceiver = interface
Public Interface ISyntaxContextReceiver

注解

A ISourceGenerator can provide an instance of ISyntaxContextReceiver via a SyntaxReceiverCreator.

编译器将在生成之前调用 SyntaxReceiverCreator 以获取实例 ISyntaxContextReceiver。 此实例将 OnVisitSyntaxNode(GeneratorSyntaxContext) 调用编译中的每个语法节点。

可以 ISyntaxContextReceiver 记录有关访问的节点的任何信息。 在生成器期间 Execute(GeneratorExecutionContext) ,可以通过属性获取创建的实例 SyntaxContextReceiver 。 包含的信息可用于执行最终生成。

每代创建一个新实例 ISyntaxContextReceiver ,这意味着该实例可以自由存储状态,而无需担心生存期或重复使用。

ISourceGenerator个可能只提供一ISyntaxReceiverISyntaxContextReceiver个或两者,而不是两者。

方法

OnVisitSyntaxNode(GeneratorSyntaxContext)

接收编译中的每个通知 SyntaxNode 以及 a
SemanticModel 可以在生成运行之前查询以获取更多信息。

适用于