InitializationContext.RegisterForSyntaxNotifications 方法

定义

SyntaxReceiverCreator注册此生成器,该生成器可用于创建实例ISyntaxReceiver

public void RegisterForSyntaxNotifications (Microsoft.CodeAnalysis.SyntaxReceiverCreator receiverCreator);
member this.RegisterForSyntaxNotifications : Microsoft.CodeAnalysis.SyntaxReceiverCreator -> unit
Public Sub RegisterForSyntaxNotifications (receiverCreator As SyntaxReceiverCreator)

参数

receiverCreator
SyntaxReceiverCreator

A SyntaxReceiverCreator that can be invoked to create an instance of ISyntaxReceiver

注解

此方法允许生成器“语法感知”。 在每一代之前, receiverCreator 将调用以创建实例 ISyntaxReceiver。 此接收器将对 OnVisitSyntaxNode(SyntaxNode) 编译中的每个语法节点进行调用,使接收方能够在生成之前生成有关编译的信息。

在生成器期间Execute(SourceGeneratorContext),可以通过访问SyntaxReceiver属性获取ISyntaxReceiver创建的实例。 接收方收集的任何信息都可用于生成最终输出。

每代创建一个新实例 ISyntaxReceiver ,这意味着无需管理接收方或其内容的生存期。

适用于