Observable.GroupByUntil<TSource, TKey, TElement, TDuration> Method (IObservable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>>, IEqualityComparer<TKey>)
Groups the elements of an observable sequence according to a specified key selector function and comparer and selects the resulting elements by using a specified function.
Namespace: System.Reactive.Linq
Assembly: System.Reactive (in System.Reactive.dll)
Syntax
'Declaration
<ExtensionAttribute> _
Public Shared Function GroupByUntil(Of TSource, TKey, TElement, TDuration) ( _
source As IObservable(Of TSource), _
keySelector As Func(Of TSource, TKey), _
elementSelector As Func(Of TSource, TElement), _
durationSelector As Func(Of IGroupedObservable(Of TKey, TElement), IObservable(Of TDuration)), _
comparer As IEqualityComparer(Of TKey) _
) As IObservable(Of IGroupedObservable(Of TKey, TElement))
'Usage
Dim source As IObservable(Of TSource)
Dim keySelector As Func(Of TSource, TKey)
Dim elementSelector As Func(Of TSource, TElement)
Dim durationSelector As Func(Of IGroupedObservable(Of TKey, TElement), IObservable(Of TDuration))
Dim comparer As IEqualityComparer(Of TKey)
Dim returnValue As IObservable(Of IGroupedObservable(Of TKey, TElement))
returnValue = source.GroupByUntil(keySelector, _
elementSelector, durationSelector, _
comparer)
public static IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(
this IObservable<TSource> source,
Func<TSource, TKey> keySelector,
Func<TSource, TElement> elementSelector,
Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector,
IEqualityComparer<TKey> comparer
)
[ExtensionAttribute]
public:
generic<typename TSource, typename TKey, typename TElement, typename TDuration>
static IObservable<IGroupedObservable<TKey, TElement>^>^ GroupByUntil(
IObservable<TSource>^ source,
Func<TSource, TKey>^ keySelector,
Func<TSource, TElement>^ elementSelector,
Func<IGroupedObservable<TKey, TElement>^, IObservable<TDuration>^>^ durationSelector,
IEqualityComparer<TKey>^ comparer
)
static member GroupByUntil :
source:IObservable<'TSource> *
keySelector:Func<'TSource, 'TKey> *
elementSelector:Func<'TSource, 'TElement> *
durationSelector:Func<IGroupedObservable<'TKey, 'TElement>, IObservable<'TDuration>> *
comparer:IEqualityComparer<'TKey> -> IObservable<IGroupedObservable<'TKey, 'TElement>>
JScript does not support generic types and methods.
Type Parameters
- TSource
The type source.
- TKey
The type key.
- TElement
The type element.
- TDuration
The type duration.
Parameters
- source
Type: System.IObservable<TSource>
An observable sequence whose elements to group.
- keySelector
Type: System.Func<TSource, TKey>
A function to extract the key for each element.
- elementSelector
Type: System.Func<TSource, TElement>
A function to map each source element to an element in an observable group.
- durationSelector
Type: System.Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>>
A function to signal the expiration of a group.
- comparer
Type: System.Collections.Generic.IEqualityComparer<TKey>
An equality comparer to compare keys with.
Return Value
Type: System.IObservable<IGroupedObservable<TKey, TElement>>
A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type IObservable<TSource>. When you use instance method syntax to call this method, omit the first parameter. For more information, see or .