ISyntaxReceiver 接口

定义

在生成运行之前接收编译中每个 SyntaxNode 项的通知

public interface ISyntaxReceiver
type ISyntaxReceiver = interface
Public Interface ISyntaxReceiver

注解

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

编译器将在生成前调用SyntaxReceiverCreator以获取实例 。ISyntaxReceiver 此实例将对 OnVisitSyntaxNode(SyntaxNode) 编译中的每个语法节点进行调用。

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

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

一个 ISourceGenerator 可能只提供一 ISyntaxReceiver 个,或者 ISyntaxContextReceiver不能同时提供这两者。

方法

OnVisitSyntaxNode(SyntaxNode)

针对 SyntaxNode 编译中的每个项调用

适用于