Поделиться через


ISyntaxReceiver Интерфейс

Определение

Получает уведомления о каждом из них SyntaxNode в компиляции перед запуском создания.

public interface ISyntaxReceiver
type ISyntaxReceiver = interface
Public Interface ISyntaxReceiver

Комментарии

Может ISourceGenerator предоставить экземпляр ISyntaxReceiver через .SyntaxReceiverCreator

Компилятор вызовет предыдущее SyntaxReceiverCreator поколение для получения экземпляра ISyntaxReceiver. Этот экземпляр будет OnVisitSyntaxNode(SyntaxNode) вызываться для каждого узла синтаксиса в компиляции.

Может ISyntaxReceiver записывать любые сведения о посещенных узлах. Во время Execute(GeneratorExecutionContext) генератора можно получить созданный экземпляр через SyntaxReceiver свойство. Содержащиеся сведения можно использовать для выполнения окончательного поколения.

Новый экземпляр ISyntaxReceiver создается для каждого поколения, то есть экземпляр может хранить состояние, не беспокоясь о времени существования или повторном использовании.

Может ISourceGenerator предоставлять только один ISyntaxReceiver или ISyntaxContextReceiverне оба.

Методы

OnVisitSyntaxNode(SyntaxNode)

Вызывается для каждого SyntaxNode из них в компиляции

Применяется к