次の方法で共有


IncrementalValuesProvider<TValues> 構造体

定義

実行パイプラインを構築するために変換できる複数の値のプロバイダーを表します。

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

型パラメーター

TValues

このソースがアクセスを提供する値の型

継承
IncrementalValuesProvider<TValues>

注釈

これは、直接使用できない不透明な型です。 代わりに、 IIncrementalGenerator は、実行パイプラインを構築するときに一連の値プロバイダーを受け取ります。 その後、一連の拡張メソッドを使用して、実際のパイプラインを作成するデータに対する変換を作成します。

拡張メソッド

名前 説明
Collect<TSource>(IncrementalValuesProvider<TSource>)

ImmutableArray<T>を含む単一のIncrementalValueProvider<TValue>IncrementalValuesProvider<TValues>からすべての値を収集します。 これは、複数の値を 1 つのコレクションに集約してまとめて処理する必要がある場合に便利です。

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

IncrementalValuesProvider<TValues>IncrementalValueProvider<TValue>を組み合わせて、タプルの新しいIncrementalValuesProvider<TValues>を作成します。 左側のプロバイダーの各値は、右側のプロバイダーの単一の値とペアになっています。

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

各値に変換関数を適用して、 IncrementalValuesProvider<TValues> を新しい IncrementalValuesProvider<TValues> に変換します。 これは 1 対 1 の変換であり、各入力値によって出力値が 1 つだけ生成されます。

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

入力値ごとに 0 個以上の結果を返す変換関数を適用して、 IncrementalValuesProvider<TValues> を新しい IncrementalValuesProvider<TValues> に変換します。 これは多対多変換であり、各入力値で 0、1、または複数の出力値を生成できます。

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

入力値ごとに 0 個以上の結果を返す変換関数を適用して、 IncrementalValuesProvider<TValues> を新しい IncrementalValuesProvider<TValues> に変換します。 これは多対多変換であり、各入力値で 0、1、または複数の出力値を生成できます。

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

述語に基づいて IncrementalValuesProvider<TValues> の値をフィルター処理し、述語を満たす値のみを含む新しい IncrementalValuesProvider<TValues> を生成します。

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

キャッシュ目的でこのプロバイダーの値を比較するときに使用するカスタム IEqualityComparer<T> を指定します。 既定では、ジェネレーター インフラストラクチャは Default を使用して値が変更されたかどうかを判断します。 複雑なオブジェクトの場合や変換を再実行するタイミングを制御する場合など、カスタムの等値ロジックが必要な場合は、このメソッドを使用します。

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

追跡とデバッグを目的として、このプロバイダー ステップに名前を割り当てます。 この名前は、テストと診断のシナリオで使用して、実行パイプラインを理解できます。

適用対象