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>) |
Регистрирует выходной узел, который будет создавать исходный код для добавления в компиляцию. Указанное действие будет вызываться один раз для каждого значения от поставщика при каждом изменении. |