次の方法で共有


InitializationContext.RegisterForSyntaxNotifications メソッド

定義

このジェネレーターの a 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 は世代ごとに作成されます。つまり、受信側またはそのコンテンツの有効期間を管理する必要はありません。

適用対象