Qbservable.GroupByUntil<TSource, TKey, TElement, TDuration> Method (IQbservable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TSource, TElement>>, Expression<Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>>>)
Группирует элементы запрашиваемой наблюдаемой последовательности в соответствии с указанной функцией селектора ключей и выбирает результирующий элемент с помощью указанной функции.
Пространство имен:System.Reactive.Linq
Сборки: System.Reactive.Providers (в System.Reactive.Providers.dll)
Синтаксис
'Declaration
<ExtensionAttribute> _
Public Shared Function GroupByUntil(Of TSource, TKey, TElement, TDuration) ( _
source As IQbservable(Of TSource), _
keySelector As Expression(Of Func(Of TSource, TKey)), _
elementSelector As Expression(Of Func(Of TSource, TElement)), _
durationSelector As Expression(Of Func(Of IGroupedObservable(Of TKey, TElement), IObservable(Of TDuration))) _
) As IQbservable(Of IGroupedObservable(Of TKey, TElement))
'Usage
Dim source As IQbservable(Of TSource)
Dim keySelector As Expression(Of Func(Of TSource, TKey))
Dim elementSelector As Expression(Of Func(Of TSource, TElement))
Dim durationSelector As Expression(Of Func(Of IGroupedObservable(Of TKey, TElement), IObservable(Of TDuration)))
Dim returnValue As IQbservable(Of IGroupedObservable(Of TKey, TElement))
returnValue = source.GroupByUntil(keySelector, _
elementSelector, durationSelector)
public static IQbservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(
this IQbservable<TSource> source,
Expression<Func<TSource, TKey>> keySelector,
Expression<Func<TSource, TElement>> elementSelector,
Expression<Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>>> durationSelector
)
[ExtensionAttribute]
public:
generic<typename TSource, typename TKey, typename TElement, typename TDuration>
static IQbservable<IGroupedObservable<TKey, TElement>^>^ GroupByUntil(
IQbservable<TSource>^ source,
Expression<Func<TSource, TKey>^>^ keySelector,
Expression<Func<TSource, TElement>^>^ elementSelector,
Expression<Func<IGroupedObservable<TKey, TElement>^, IObservable<TDuration>^>^>^ durationSelector
)
static member GroupByUntil :
source:IQbservable<'TSource> *
keySelector:Expression<Func<'TSource, 'TKey>> *
elementSelector:Expression<Func<'TSource, 'TElement>> *
durationSelector:Expression<Func<IGroupedObservable<'TKey, 'TElement>, IObservable<'TDuration>>> -> IQbservable<IGroupedObservable<'TKey, 'TElement>>
JScript does not support generic types and methods.
Параметры типа
- TSource
Источник типа.
- Tkey
Ключ типа.
- TElement
Элемент type.
- TDuration
Длительность типа.
Параметры
- source
Тип: System.Reactive.Linq.IQbservable<TSource>
Запрашиваемая наблюдаемая последовательность, элементы которой необходимо сгруппировать.
- keySelector
Тип: System.Linq.Expressions.Expression<Func<TSource, TKey>>
Функция, извлекающая ключ для каждого элемента.
- elementSelector
Тип: System.Linq.Expressions.Expression<Func<TSource, TElement>>
Функция для сопоставления каждого исходного элемента с элементом в наблюдаемой группе.
- durationSelector
Тип: System.Linq.Expressions.Expression<Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>>>
Функция, сигналивая об истечении срока действия группы.
Возвращаемое значение
Тип: System.Reactive.Linq.IQbservable<IGroupedObservable<TKey, TElement>>
Последовательность запрашиваемых наблюдаемых групп, каждая из которых соответствует уникальному значению ключа и содержит все элементы, которые используют одно и то же значение ключа.
Примечание об использовании
В Visual Basic и C# этот метод можно вызвать как метод экземпляра для любого объекта типа IQbservable<TSource>. При вызове метода для экземпляра следует опускать первый параметр. Дополнительные сведения см. в разделе или .