Condividi tramite


IncrementalValuesProvider<TValues> Struct

Definizione

Rappresenta un provider di più valori che possono essere trasformati per costruire una pipeline di esecuzione

public readonly struct IncrementalValuesProvider<TValues>
type IncrementalValuesProvider<'Values> = struct
Public Structure IncrementalValuesProvider(Of TValues)

Parametri di tipo

TValues

Tipo di valore a cui questa origine fornisce l'accesso

Ereditarietà
IncrementalValuesProvider<TValues>

Commenti

Si tratta di un tipo opaco che non può essere utilizzato direttamente. Al contrario, un riceverà IIncrementalGenerator un set di provider di valori quando si costruisce la pipeline di esecuzione. Viene quindi usato un set di metodi di estensione per creare trasformazioni sui dati che creano la pipeline effettiva.

Metodi di estensione

Nome Descrizione
Collect<TSource>(IncrementalValuesProvider<TSource>)

Raccoglie tutti i valori da un oggetto IncrementalValuesProvider<TValues> in un singolo IncrementalValueProvider<TValue> oggetto contenente un oggetto ImmutableArray<T>. Ciò è utile quando è necessario aggregare più valori in una singola raccolta per elaborarli insieme.

Combine<TLeft,TRight>(IncrementalValuesProvider<TLeft>, IncrementalValueProvider<TRight>)

Combina un oggetto IncrementalValuesProvider<TValues> con un IncrementalValueProvider<TValue> oggetto per creare una nuova IncrementalValuesProvider<TValues> tupla. Ogni valore del provider sinistro viene associato al singolo valore del provider di destra.

Select<TSource,TResult>(IncrementalValuesProvider<TSource>, Func<TSource,CancellationToken,TResult>)

Trasforma un oggetto IncrementalValuesProvider<TValues> in un nuovo IncrementalValuesProvider<TValues> oggetto applicando una funzione di trasformazione a ogni valore. Si tratta di una trasformazione da 1 a 1 in cui ogni valore di input produce esattamente un valore di output.

SelectMany<TSource,TResult>(IncrementalValuesProvider<TSource>, Func<TSource,CancellationToken,IEnumerable<TResult>>)

Trasforma un oggetto IncrementalValuesProvider<TValues> in un nuovo IncrementalValuesProvider<TValues> oggetto applicando una funzione di trasformazione che restituisce zero o più risultati per ogni valore di input. Si tratta di una trasformazione molti-a-molti in cui ogni valore di input può produrre zero, uno o più valori di output.

SelectMany<TSource,TResult>(IncrementalValuesProvider<TSource>, Func<TSource,CancellationToken,ImmutableArray<TResult>>)

Trasforma un oggetto IncrementalValuesProvider<TValues> in un nuovo IncrementalValuesProvider<TValues> oggetto applicando una funzione di trasformazione che restituisce zero o più risultati per ogni valore di input. Si tratta di una trasformazione molti-a-molti in cui ogni valore di input può produrre zero, uno o più valori di output.

Where<TSource>(IncrementalValuesProvider<TSource>, Func<TSource,Boolean>)

Filtra i valori di un oggetto IncrementalValuesProvider<TValues> in base a un predicato, generando un nuovo IncrementalValuesProvider<TValues> oggetto contenente solo i valori che soddisfano il predicato.

WithComparer<TSource>(IncrementalValuesProvider<TSource>, IEqualityComparer<TSource>)

Specifica un oggetto personalizzato IEqualityComparer<T> da utilizzare per confrontare i valori di questo provider a scopo di memorizzazione nella cache. Per impostazione predefinita, l'infrastruttura del generatore usa Default per determinare se i valori sono stati modificati. Usare questo metodo quando è necessaria una logica di uguaglianza personalizzata, ad esempio per oggetti complessi o quando si desidera controllare quando vengono rieseguate le trasformazioni.

WithTrackingName<TSource>(IncrementalValuesProvider<TSource>, String)

Assegna un nome a questo passaggio del provider per scopi di rilevamento e debug. Questo nome può essere usato negli scenari di test e diagnostica per comprendere la pipeline di esecuzione.

Si applica a