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)

[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
)

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 https://msdn.microsoft.com/en-us/library/bb384936.aspx or https://msdn.microsoft.com/en-us/library/bb383977.aspx.
Show: