IncrementalGeneratorInitializationContext Struct
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Contesto passato a un generatore incrementale quando Initialize(IncrementalGeneratorInitializationContext) viene chiamato
public readonly struct IncrementalGeneratorInitializationContext
type IncrementalGeneratorInitializationContext = struct
Public Structure IncrementalGeneratorInitializationContext
- Ereditarietà
-
IncrementalGeneratorInitializationContext
Proprietà
| Nome | Descrizione |
|---|---|
| AdditionalTextsProvider |
Ottiene un oggetto IncrementalValuesProvider<TValues> che fornisce l'accesso a tutti i AdditionalText file inclusi nella compilazione. I testi aggiuntivi sono in genere file non di codice (ad esempio .txt, .json, .xml) che possono essere usati come input per la generazione di origine. Ogni testo aggiuntivo aggiunto, rimosso o modificato attiverà un nuovo valore nel provider. |
| AnalyzerConfigOptionsProvider |
Ottiene un oggetto IncrementalValueProvider<TValue> che fornisce l'accesso all'oggetto AnalyzerConfigOptionsProvider per la compilazione. Può essere usato per leggere le impostazioni di editorconfig e altre opzioni di configurazione dell'analizzatore. |
| CompilationProvider |
Ottiene un oggetto IncrementalValueProvider<TValue> che fornisce l'accesso all'oggetto Compilation elaborato. Il valore di questo provider cambia ogni volta che viene modificata la compilazione ,ad esempio file di origine, riferimenti o opzioni. |
| MetadataReferencesProvider |
Ottiene un oggetto IncrementalValuesProvider<TValues> che fornisce l'accesso a tutti gli MetadataReferenceelementi nella compilazione. Ogni riferimento ai metadati (ad esempio, assembly a cui si fa riferimento) aggiunto, rimosso o modificato attiverà un nuovo valore nel provider. |
| ParseOptionsProvider |
Ottiene un oggetto IncrementalValueProvider<TValue> che fornisce l'accesso all'oggetto ParseOptions per la compilazione. Il valore di questo provider cambia ogni volta che le opzioni di analisi cambiano (ad esempio, la versione della lingua o i simboli del preprocessore). |
| SyntaxProvider |
Ottiene un oggetto SyntaxValueProvider che può essere utilizzato per creare nodi di input basati sulla sintassi per la pipeline del generatore incrementale. Usare questa opzione per registrare i callback che filtrano e trasformano i nodi della sintassi nella compilazione. |
Metodi
| Nome | Descrizione |
|---|---|
| RegisterHostOutput<TSource>(IncrementalValueProvider<TSource>, Action<HostOutputProductionContext,TSource>) |
Registra un nodo di output che produrrà output specifici dell'host che non vengono aggiunti alla compilazione. Gli output host non hanno un uso definito e non contribuiscono alla compilazione finale. Vengono resi disponibili all'host (ad esempio, l'ambiente di sviluppo o il sistema di compilazione che esegue il generatore, ad esempio Visual Studio, dotnet build e così via) tramite HostOutputs e spetta all'host decidere come usarli. L'azione specificata verrà richiamata con il valore del provider ogni volta che cambia. |
| RegisterHostOutput<TSource>(IncrementalValuesProvider<TSource>, Action<HostOutputProductionContext,TSource>) |
Registra un nodo di output che produrrà output specifici dell'host che non vengono aggiunti alla compilazione. Gli output host non hanno un uso definito e non contribuiscono alla compilazione finale. Vengono resi disponibili all'host (ad esempio, l'ambiente di sviluppo o il sistema di compilazione che esegue il generatore, ad esempio Visual Studio, dotnet build e così via) tramite HostOutputs e spetta all'host decidere come usarli. L'azione specificata verrà richiamata una volta per ogni valore del provider ogni volta che cambiano. |
| RegisterImplementationSourceOutput<TSource>(IncrementalValueProvider<TSource>, Action<SourceProductionContext,TSource>) |
Registra un nodo di output che produrrà il codice sorgente di implementazione da aggiungere alla compilazione. Le origini di implementazione vengono trattate in modo diverso dalle origini regolari in alcuni scenari e possono essere escluse da determinati output di compilazione. L'azione specificata verrà richiamata con il valore del provider ogni volta che cambia. |
| RegisterImplementationSourceOutput<TSource>(IncrementalValuesProvider<TSource>, Action<SourceProductionContext,TSource>) |
Registra un nodo di output che produrrà il codice sorgente di implementazione da aggiungere alla compilazione. Le origini di implementazione vengono trattate in modo diverso dalle origini regolari in alcuni scenari e possono essere escluse da determinati output di compilazione. L'azione specificata verrà richiamata una volta per ogni valore del provider ogni volta che cambiano. |
| RegisterPostInitializationOutput(Action<IncrementalGeneratorPostInitializationContext>) |
Registra un callback che verrà richiamato una sola volta, prima che si verifichi qualsiasi altra generazione di origine. Viene in genere usato per aggiungere codice sorgente che deve essere disponibile per i passaggi di generazione successivi, ad esempio le definizioni degli attributi. Usare AddEmbeddedAttributeDefinition() per aggiungere EmbeddedAttribute che contrassegna i tipi generati come interni all'assembly corrente. |
| RegisterSourceOutput<TSource>(IncrementalValueProvider<TSource>, Action<SourceProductionContext,TSource>) |
Registra un nodo di output che produrrà il codice sorgente da aggiungere alla compilazione. L'azione specificata verrà richiamata con il valore del provider ogni volta che cambia. |
| RegisterSourceOutput<TSource>(IncrementalValuesProvider<TSource>, Action<SourceProductionContext,TSource>) |
Registra un nodo di output che produrrà il codice sorgente da aggiungere alla compilazione. L'azione specificata verrà richiamata una volta per ogni valore del provider ogni volta che cambiano. |