IncrementalGeneratorInitializationContext Estructura
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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. |