IncrementalValuesProvider<TValues> Структура
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет поставщика нескольких значений, которые можно преобразовать для создания конвейера выполнения.
public readonly struct IncrementalValuesProvider<TValues>
type IncrementalValuesProvider<'Values> = struct
Public Structure IncrementalValuesProvider(Of TValues)
Параметры типа
- TValues
Тип значения, к которому предоставляется этот источник.
- Наследование
-
IncrementalValuesProvider<TValues>
Комментарии
Это непрозрачный тип, который нельзя использовать напрямую. Вместо этого поставщики IIncrementalGenerator значений получат набор поставщиков значений при создании конвейера выполнения. Затем набор методов расширения используется для создания преобразований по данным, создающим фактический конвейер.
Методы расширения
| Имя | Описание |
|---|---|
| Collect<TSource>(IncrementalValuesProvider<TSource>) |
Собирает все значения из IncrementalValuesProvider<TValues> одного IncrementalValueProvider<TValue> , содержащего объект ImmutableArray<T>. Это полезно, если необходимо объединить несколько значений в одну коллекцию, чтобы обработать их вместе. |
| 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, где каждое входное значение создает ровно одно выходное значение. |
| SelectMany<TSource,TResult>(IncrementalValuesProvider<TSource>, Func<TSource,CancellationToken,IEnumerable<TResult>>) |
IncrementalValuesProvider<TValues> Преобразуется в новое IncrementalValuesProvider<TValues> путем применения функции преобразования, возвращающей нулевое или больше результатов для каждого входного значения. Это преобразование "многие ко многим", где каждое входное значение может производить ноль, один или несколько выходных значений. |
| SelectMany<TSource,TResult>(IncrementalValuesProvider<TSource>, Func<TSource,CancellationToken,ImmutableArray<TResult>>) |
IncrementalValuesProvider<TValues> Преобразуется в новое IncrementalValuesProvider<TValues> путем применения функции преобразования, возвращающей нулевое или больше результатов для каждого входного значения. Это преобразование "многие ко многим", где каждое входное значение может производить ноль, один или несколько выходных значений. |
| 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) |
Присваивает этому шагу поставщика имя для отслеживания и отладки. Это имя можно использовать в сценариях тестирования и диагностики для понимания конвейера выполнения. |