ISyntaxReceiver 介面

定義

在產生執行之前,接收編譯中每個 SyntaxNode 的通知

public interface ISyntaxReceiver
type ISyntaxReceiver = interface
Public Interface ISyntaxReceiver

備註

ISourceGenerator可以透過 SyntaxReceiverCreator 提供 的 ISyntaxReceiver 實例。

編譯器會在產生之前叫用 , SyntaxReceiverCreator 以取得 的 ISyntaxReceiver 實例。 這個實例會 OnVisitSyntaxNode(SyntaxNode) 針對編譯中的每個語法節點呼叫它。

ISyntaxReceiver可以記錄所流覽節點的任何資訊。 在產生器期間 Execute(GeneratorExecutionContext) ,可以透過 屬性取得建立的 SyntaxReceiver 實例。 所包含的資訊可用來執行最終產生。

的新實例 ISyntaxReceiver 是每一代建立的,這表示實例可以自由儲存狀態,而不必擔心存留期或重複使用。

ISourceGenerator可能只提供單 ISyntaxReceiver 一 或 ISyntaxContextReceiver ,而不是兩者。

方法

OnVisitSyntaxNode(SyntaxNode)

針對 SyntaxNode 編譯中的每個呼叫

適用於