다음을 통해 공유


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 인스턴스를 만들기 위해 호출할 수 있는 A ISyntaxReceiver

설명

이 메서드를 사용하면 생성기를 '구문 인식'할 수 있습니다. 각 세대 전에 receiverCreator 호출되어 인스턴스를 ISyntaxReceiver만듭니다. 이 수신기는 OnVisitSyntaxNode(SyntaxNode) 컴파일의 각 구문 노드에 대해 호출되므로 생성이 발생하기 전에 수신기가 컴파일에 대한 정보를 작성할 수 있습니다.

생성기 중에 Execute(SourceGeneratorContext) 속성에 ISyntaxReceiver 액세스하여 만든 인스턴스를 SyntaxReceiver 가져올 수 있습니다. 수신기에서 수집한 모든 정보를 사용하여 최종 출력을 생성할 수 있습니다.

새 인스턴스 ISyntaxReceiver 는 세대별로 만들어지므로 수신기 또는 해당 콘텐츠의 수명을 관리할 필요가 없습니다.

적용 대상