IncrementalGeneratorInitializationContext Структура

Определение

Контекст, передаваемый добавочному генератору при Initialize(IncrementalGeneratorInitializationContext) вызове

public readonly struct IncrementalGeneratorInitializationContext
type IncrementalGeneratorInitializationContext = struct
Public Structure IncrementalGeneratorInitializationContext
Наследование
IncrementalGeneratorInitializationContext

Свойства

Имя Описание
AdditionalTextsProvider

Получает доступ ко всем AdditionalText файламIncrementalValuesProvider<TValues>, включенным в компиляцию. Дополнительные тексты обычно представляют собой файлы, отличные от кода (например, .txt, .json, .xml), которые можно использовать в качестве входных данных для создания источника. Каждый дополнительный текст, добавляемый, удаленный или измененный, активирует новое значение в поставщике.

AnalyzerConfigOptionsProvider

Получает доступ IncrementalValueProvider<TValue> к AnalyzerConfigOptionsProvider компиляции. Это можно использовать для чтения параметров .editorconfig и других параметров конфигурации анализатора.

CompilationProvider

Возвращает объект, предоставляющий IncrementalValueProvider<TValue> доступ к обрабатываемой обработке Compilation . Значение этого поставщика изменяется всякий раз при изменении компиляции (например, исходных файлов, ссылок или параметров).

MetadataReferencesProvider

Получает доступ IncrementalValuesProvider<TValues> ко всем MetadataReferenceфайлам компиляции. Каждая ссылка на метаданные (например, ссылки на сборки), добавляемая, удаленная или измененная, активирует новое значение в поставщике.

ParseOptionsProvider

Получает доступ IncrementalValueProvider<TValue> к ParseOptions компиляции. Значение этого поставщика изменяется всякий раз при изменении параметров синтаксического анализа (например, языковых версий или символов препроцессора).

SyntaxProvider

SyntaxValueProvider Возвращает объект, который можно использовать для создания входных узлов на основе синтаксиса для конвейера добавочного генератора. Используйте это для регистрации обратных вызовов, которые фильтруют и преобразуют синтаксические узлы в компиляции.

Методы

Имя Описание
RegisterHostOutput<TSource>(IncrementalValueProvider<TSource>, Action<HostOutputProductionContext,TSource>)

Регистрирует выходной узел, который создает выходные данные для конкретного узла, которые не добавляются в компиляцию. Выходные данные узла не имеют определенного использования и не вносят свой вклад в окончательную компиляцию. Они становятся доступными для узла (т. е. среды разработки или системы сборки, работающей с генератором, например Visual Studio, dotnet build и т. д.) через HostOutputs узел, чтобы решить, как их использовать. Указанное действие будет вызываться со значением от поставщика при каждом изменении.

RegisterHostOutput<TSource>(IncrementalValuesProvider<TSource>, Action<HostOutputProductionContext,TSource>)

Регистрирует выходной узел, который создает выходные данные для конкретного узла, которые не добавляются в компиляцию. Выходные данные узла не имеют определенного использования и не вносят свой вклад в окончательную компиляцию. Они становятся доступными для узла (т. е. среды разработки или системы сборки, работающей с генератором, например Visual Studio, dotnet build и т. д.) через HostOutputs узел, чтобы решить, как их использовать. Указанное действие будет вызываться один раз для каждого значения от поставщика при каждом изменении.

RegisterImplementationSourceOutput<TSource>(IncrementalValueProvider<TSource>, Action<SourceProductionContext,TSource>)

Регистрирует выходной узел, который создаст исходный код реализации, который будет добавлен в компиляцию. Источники реализации обрабатываются по-разному от обычных источников в некоторых сценариях и могут быть исключены из определенных выходных данных компиляции. Указанное действие будет вызываться со значением от поставщика при каждом изменении.

RegisterImplementationSourceOutput<TSource>(IncrementalValuesProvider<TSource>, Action<SourceProductionContext,TSource>)

Регистрирует выходной узел, который создаст исходный код реализации, который будет добавлен в компиляцию. Источники реализации обрабатываются по-разному от обычных источников в некоторых сценариях и могут быть исключены из определенных выходных данных компиляции. Указанное действие будет вызываться один раз для каждого значения от поставщика при каждом изменении.

RegisterPostInitializationOutput(Action<IncrementalGeneratorPostInitializationContext>)

Регистрирует обратный вызов, который будет вызываться один раз, прежде чем будет выполняться любое другое создание источника. Обычно это используется для добавления исходного кода, который должен быть доступен для последующих шагов создания, таких как определения атрибутов. Используйте AddEmbeddedAttributeDefinition() для добавления EmbeddedAttribute, который помечает созданные типы как внутренние в текущую сборку.

RegisterSourceOutput<TSource>(IncrementalValueProvider<TSource>, Action<SourceProductionContext,TSource>)

Регистрирует выходной узел, который будет создавать исходный код для добавления в компиляцию. Указанное действие будет вызываться со значением от поставщика при каждом изменении.

RegisterSourceOutput<TSource>(IncrementalValuesProvider<TSource>, Action<SourceProductionContext,TSource>)

Регистрирует выходной узел, который будет создавать исходный код для добавления в компиляцию. Указанное действие будет вызываться один раз для каждого значения от поставщика при каждом изменении.

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