Qbservable.GroupByUntil<TSource, TKey, TElement, TDuration> Method (IQbservable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TSource, TElement>>, Expression<Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>>>)

Groups the elements of a queryable observable sequence according to a specified key selector function and selects the resulting elements by using a specified function.

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

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

Type Parameters


The type source.


The type key.


The type element.


The type duration.


Type: System.Reactive.Linq.IQbservable<TSource>
A queryable observable sequence whose elements to group.
Type: System.Linq.Expressions.Expression<Func<TSource, TKey>>
A function to extract the key for each element.
Type: System.Linq.Expressions.Expression<Func<TSource, TElement>>
A function to map each source element to an element in an observable group.
Type: System.Linq.Expressions.Expression<Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>>>
A function to signal the expiration of a group.

Return Value

Type: System.Reactive.Linq.IQbservable<IGroupedObservable<TKey, TElement>>
A sequence of queryable 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 IQbservable<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(v=vs.103).aspx or https://msdn.microsoft.com/en-us/library/bb383977(v=vs.103).aspx.