Compartir a través de


IncrementalGeneratorInitializationContext Estructura

Definición

Contexto pasado a un generador incremental cuando Initialize(IncrementalGeneratorInitializationContext) se llama a

public readonly struct IncrementalGeneratorInitializationContext
type IncrementalGeneratorInitializationContext = struct
Public Structure IncrementalGeneratorInitializationContext
Herencia
IncrementalGeneratorInitializationContext

Propiedades

Nombre Description
AdditionalTextsProvider

Obtiene un IncrementalValuesProvider<TValues> objeto que proporciona acceso a todos los AdditionalText archivos incluidos en la compilación. Los textos adicionales suelen ser archivos que no son de código (como .txt, .json, .xml) que se pueden usar como entrada para la generación de origen. Cada texto adicional agregado, quitado o modificado desencadenará un nuevo valor en el proveedor.

AnalyzerConfigOptionsProvider

Obtiene un IncrementalValueProvider<TValue> objeto que proporciona acceso a AnalyzerConfigOptionsProvider para la compilación. Esto se puede usar para leer la configuración de .editorconfig y otras opciones de configuración del analizador.

CompilationProvider

Obtiene un IncrementalValueProvider<TValue> objeto que proporciona acceso al Compilation objeto que se está procesando. El valor de este proveedor cambia cada vez que cambia la compilación (por ejemplo, se modifican los archivos de origen, las referencias o las opciones).

MetadataReferencesProvider

Obtiene un IncrementalValuesProvider<TValues> objeto que proporciona acceso a todos los MetadataReferenceelementos de la compilación. Cada referencia de metadatos (por ejemplo, ensamblados a los que se hace referencia) que se agrega, quita o modifica desencadena un nuevo valor en el proveedor.

ParseOptionsProvider

Obtiene un IncrementalValueProvider<TValue> objeto que proporciona acceso a ParseOptions para la compilación. El valor de este proveedor cambia cada vez que cambian las opciones de análisis (por ejemplo, la versión de idioma o los símbolos del preprocesador).

SyntaxProvider

Obtiene un SyntaxValueProvider objeto que se puede usar para crear nodos de entrada basados en sintaxis para la canalización del generador incremental. Úselo para registrar devoluciones de llamada que filtran y transforman nodos de sintaxis en la compilación.

Métodos

Nombre Description
RegisterHostOutput<TSource>(IncrementalValueProvider<TSource>, Action<HostOutputProductionContext,TSource>)

Registra un nodo de salida que generará salidas específicas del host que no se agregan a la compilación. Las salidas de host no tienen ningún uso definido y no contribuyen a la compilación final. Están disponibles para el host (es decir, el entorno de desarrollo o el sistema de compilación que ejecuta el generador, como Visual Studio, dotnet build, etc.) a través HostOutputs de y es el host el que decide cómo usarlos. La acción proporcionada se invocará con el valor del proveedor siempre que cambie.

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

Registra un nodo de salida que generará salidas específicas del host que no se agregan a la compilación. Las salidas de host no tienen ningún uso definido y no contribuyen a la compilación final. Están disponibles para el host (es decir, el entorno de desarrollo o el sistema de compilación que ejecuta el generador, como Visual Studio, dotnet build, etc.) a través HostOutputs de y es el host el que decide cómo usarlos. La acción proporcionada se invocará una vez para cada valor del proveedor cada vez que cambie.

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

Registra un nodo de salida que generará código fuente de implementación que se agregará a la compilación. Los orígenes de implementación se tratan de forma diferente de los orígenes normales en algunos escenarios y se pueden excluir de determinadas salidas de compilación. La acción proporcionada se invocará con el valor del proveedor siempre que cambie.

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

Registra un nodo de salida que generará código fuente de implementación que se agregará a la compilación. Los orígenes de implementación se tratan de forma diferente de los orígenes normales en algunos escenarios y se pueden excluir de determinadas salidas de compilación. La acción proporcionada se invocará una vez para cada valor del proveedor cada vez que cambie.

RegisterPostInitializationOutput(Action<IncrementalGeneratorPostInitializationContext>)

Registra una devolución de llamada que se invocará una vez antes de que se produzca cualquier otra generación de origen. Normalmente se usa para agregar código fuente que debe estar disponible para los pasos de generación posteriores, como las definiciones de atributo. Use AddEmbeddedAttributeDefinition() para agregar EmbeddedAttribute, que marca los tipos generados como internos para el ensamblado actual.

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

Registra un nodo de salida que generará código fuente que se agregará a la compilación. La acción proporcionada se invocará con el valor del proveedor siempre que cambie.

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

Registra un nodo de salida que generará código fuente que se agregará a la compilación. La acción proporcionada se invocará una vez para cada valor del proveedor cada vez que cambie.

Se aplica a