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

  • right
    Type: System.IObservable<TRight>
    The right observable sequence to join elements for.
  • 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 .

See Also

Reference

Qbservable Class

System.Reactive.Linq Namespace