Share via


Observable.GroupByUntil<TSource, TKey, TDuration> Method (IObservable<TSource>, Func<TSource, TKey>, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>>, IEqualityComparer<TKey>)

Groups the elements of an observable sequence according to a specified key selector function and comparer.

Namespace:  System.Reactive.Linq
Assembly:  System.Reactive (in System.Reactive.dll)

Syntax

'Declaration
<ExtensionAttribute> _
Public Shared Function GroupByUntil(Of TSource, TKey, TDuration) ( _
    source As IObservable(Of TSource), _
    keySelector As Func(Of TSource, TKey), _
    durationSelector As Func(Of IGroupedObservable(Of TKey, TSource), IObservable(Of TDuration)), _
    comparer As IEqualityComparer(Of TKey) _
) As IObservable(Of IGroupedObservable(Of TKey, TSource))
'Usage
Dim source As IObservable(Of TSource)
Dim keySelector As Func(Of TSource, TKey)
Dim durationSelector As Func(Of IGroupedObservable(Of TKey, TSource), IObservable(Of TDuration))
Dim comparer As IEqualityComparer(Of TKey)
Dim returnValue As IObservable(Of IGroupedObservable(Of TKey, TSource))

returnValue = source.GroupByUntil(keySelector, _
    durationSelector, comparer)
public static IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(
    this IObservable<TSource> source,
    Func<TSource, TKey> keySelector,
    Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector,
    IEqualityComparer<TKey> comparer
)
[ExtensionAttribute]
public:
generic<typename TSource, typename TKey, typename TDuration>
static IObservable<IGroupedObservable<TKey, TSource>^>^ GroupByUntil(
    IObservable<TSource>^ source, 
    Func<TSource, TKey>^ keySelector, 
    Func<IGroupedObservable<TKey, TSource>^, IObservable<TDuration>^>^ durationSelector, 
    IEqualityComparer<TKey>^ comparer
)
static member GroupByUntil : 
        source:IObservable<'TSource> * 
        keySelector:Func<'TSource, 'TKey> * 
        durationSelector:Func<IGroupedObservable<'TKey, 'TSource>, IObservable<'TDuration>> * 
        comparer:IEqualityComparer<'TKey> -> IObservable<IGroupedObservable<'TKey, 'TSource>> 
JScript does not support generic types and methods.

Type Parameters

  • TSource
    The type source.
  • TKey
    The type key.
  • 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.

Return Value

Type: System.IObservable<IGroupedObservable<TKey, TSource>>
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 .

See Also

Reference

Observable Class

GroupByUntil Overload

System.Reactive.Linq Namespace