共用方式為


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

SyntaxReceiverCreator,可叫用以建立 的實例ISyntaxReceiver

備註

此方法可讓產生器「語法感知」。 在每次產生 之前, receiverCreator 都會叫用 以建立 的 ISyntaxReceiver 實例。 此接收者會針對編譯中的每個語法節點叫用它 OnVisitSyntaxNode(SyntaxNode) ,讓接收者能夠在產生之前建置編譯的相關資訊。

在產生器期間 Execute(SourceGeneratorContext) ,可以藉由存取 屬性來取得 ISyntaxReceiver 所建立的 SyntaxReceiver 實例。 接收者收集的任何資訊都可以用來產生最終輸出。

的新實例 ISyntaxReceiver 是每一代建立的,這表示不需要管理接收者或其內容的存留期。

適用於