Partilhar via


IncrementalValuesProvider<TValues> Estrutura

Definição

Representa um provedor de vários valores que podem ser transformados para construir um pipeline de execução

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

Parâmetros de tipo

TValues

O tipo de valor ao qual essa fonte fornece acesso

Herança
IncrementalValuesProvider<TValues>

Comentários

Esse é um tipo opaco que não pode ser usado diretamente. Em vez disso, um IIncrementalGenerator receberá um conjunto de provedores de valor ao construir seu pipeline de execução. Um conjunto de métodos de extensão é usado para criar transformações nos dados que criam o pipeline real.

Métodos de Extensão

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

Coleta todos os valores de um IncrementalValuesProvider<TValues> em um único IncrementalValueProvider<TValue> que contém um ImmutableArray<T>. Isso é útil quando você precisa agregar vários valores em uma única coleção para processá-los juntos.

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

Combina um IncrementalValuesProvider<TValues> com um IncrementalValueProvider<TValue> para criar uma nova IncrementalValuesProvider<TValues> tupla. Cada valor do provedor esquerdo é emparelhado com o valor único do provedor direito.

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

Transforma um IncrementalValuesProvider<TValues> em um novo IncrementalValuesProvider<TValues> aplicando uma função de transformação a cada valor. Essa é uma transformação de 1 para 1 em que cada valor de entrada produz exatamente um valor de saída.

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

Transforma um IncrementalValuesProvider<TValues> em um novo IncrementalValuesProvider<TValues> aplicando uma função de transformação que retorna zero ou mais resultados para cada valor de entrada. Essa é uma transformação muitos para muitos em que cada valor de entrada pode produzir zero, um ou vários valores de saída.

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

Transforma um IncrementalValuesProvider<TValues> em um novo IncrementalValuesProvider<TValues> aplicando uma função de transformação que retorna zero ou mais resultados para cada valor de entrada. Essa é uma transformação muitos para muitos em que cada valor de entrada pode produzir zero, um ou vários valores de saída.

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

Filtra valores de um IncrementalValuesProvider<TValues> predicado baseado em um, produzindo um novo IncrementalValuesProvider<TValues> contendo apenas valores que atendem ao predicado.

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

Especifica um personalizado IEqualityComparer<T> a ser usado ao comparar valores desse provedor para fins de cache. Por padrão, a infraestrutura do gerador usa Default para determinar se os valores foram alterados. Use esse método quando precisar de lógica de igualdade personalizada, como para objetos complexos ou quando quiser controlar quando as transformações forem executadas novamente.

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

Atribui um nome a esta etapa do provedor para fins de acompanhamento e depuração. Esse nome pode ser usado em cenários de teste e diagnóstico para entender o pipeline de execução.

Aplica-se a