InitializationContext.RegisterForSyntaxNotifications 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
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 ,这意味着无需管理接收方或其内容的生存期。