Qbservable.GroupJoin<TLeft, TRight, TLeftDuration, TRightDuration, TResult> Method
Correlates the elements of two sequences based on overlapping durations, and groups the results.
Namespace: System.Reactive.Linq
Assembly: System.Reactive.Providers (in System.Reactive.Providers.dll)
Syntax
'Declaration
<ExtensionAttribute> _
Public Shared Function GroupJoin(Of TLeft, TRight, TLeftDuration, TRightDuration, TResult) ( _
left As IQbservable(Of TLeft), _
right As IObservable(Of TRight), _
leftDurationSelector As Expression(Of Func(Of TLeft, IObservable(Of TLeftDuration))), _
rightDurationSelector As Expression(Of Func(Of TRight, IObservable(Of TRightDuration))), _
resultSelector As Expression(Of Func(Of TLeft, IObservable(Of TRight), TResult)) _
) As IQbservable(Of TResult)
'Usage
Dim left As IQbservable(Of TLeft)
Dim right As IObservable(Of TRight)
Dim leftDurationSelector As Expression(Of Func(Of TLeft, IObservable(Of TLeftDuration)))
Dim rightDurationSelector As Expression(Of Func(Of TRight, IObservable(Of TRightDuration)))
Dim resultSelector As Expression(Of Func(Of TLeft, IObservable(Of TRight), TResult))
Dim returnValue As IQbservable(Of TResult)
returnValue = left.GroupJoin(right, _
leftDurationSelector, rightDurationSelector, _
resultSelector)
public static IQbservable<TResult> GroupJoin<TLeft, TRight, TLeftDuration, TRightDuration, TResult>(
this IQbservable<TLeft> left,
IObservable<TRight> right,
Expression<Func<TLeft, IObservable<TLeftDuration>>> leftDurationSelector,
Expression<Func<TRight, IObservable<TRightDuration>>> rightDurationSelector,
Expression<Func<TLeft, IObservable<TRight>, TResult>> resultSelector
)
[ExtensionAttribute]
public:
generic<typename TLeft, typename TRight, typename TLeftDuration, typename TRightDuration, typename TResult>
static IQbservable<TResult>^ GroupJoin(
IQbservable<TLeft>^ left,
IObservable<TRight>^ right,
Expression<Func<TLeft, IObservable<TLeftDuration>^>^>^ leftDurationSelector,
Expression<Func<TRight, IObservable<TRightDuration>^>^>^ rightDurationSelector,
Expression<Func<TLeft, IObservable<TRight>^, TResult>^>^ resultSelector
)
static member GroupJoin :
left:IQbservable<'TLeft> *
right:IObservable<'TRight> *
leftDurationSelector:Expression<Func<'TLeft, IObservable<'TLeftDuration>>> *
rightDurationSelector:Expression<Func<'TRight, IObservable<'TRightDuration>>> *
resultSelector:Expression<Func<'TLeft, IObservable<'TRight>, 'TResult>> -> IQbservable<'TResult>
JScript does not support generic types and methods.
Type Parameters
- TLeft
The type of left.
- TRight
The type of right.
- TLeftDuration
The type of left duration.
- TRightDuration
The type of right duration.
- TResult
The type of result.
Parameters
- left
Type: System.Reactive.Linq.IQbservable<TLeft>
The left queryable observable sequence to join elements for.
- right
Type: System.IObservable<TRight>
The right observable sequence to join elements for.
- leftDurationSelector
Type: System.Linq.Expressions.Expression<Func<TLeft, IObservable<TLeftDuration>>>
A function to select the duration of each element of the left queryable observable sequence, used to determine overlap.
- rightDurationSelector
Type: System.Linq.Expressions.Expression<Func<TRight, IObservable<TRightDuration>>>
A function to select the duration of each element of the right queryable observable sequence, used to determine overlap.
- resultSelector
Type: System.Linq.Expressions.Expression<Func<TLeft, IObservable<TRight>, TResult>>
A function invoked to compute a result element for any element of the left sequence with overlapping elements from the right queryable observable sequence.
Return Value
Type: System.Reactive.Linq.IQbservable<TResult>
A queryable observable sequence that contains result elements computed from source elements that have an overlapping duration.
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type IQbservable<TLeft>. When you use instance method syntax to call this method, omit the first parameter. For more information, see or .