Search Results for

    Show / Hide Table of Contents

    Class Observable

    Provides a set of static methods for writing in-memory queries over observable sequences.

    Inheritance
    Object
    Observable
    Inherited Members
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Object.ToString()
    Object.ReferenceEquals(Object, Object)
    Namespace: System.Reactive.Linq
    Assembly: System.Reactive.Linq.dll
    Syntax
    public static class Observable

    Methods

    | Improve this Doc View Source

    Aggregate<TSource>(IObservable<TSource>, Func<TSource, TSource, TSource>)

    Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. For aggregation behavior with incremental intermediate results, see Scan<TSource>(IObservable<TSource>, Func<TSource, TSource, TSource>).

    Declaration
    public static IObservable<TSource> Aggregate<TSource>(this IObservable<TSource> source, Func<TSource, TSource, TSource> accumulator)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to aggregate over.

    Func<TSource, TSource, TSource> accumulator

    An accumulator function to be invoked on each element.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence containing a single element with the final accumulator value.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence and the result of the aggregation.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or accumulator is null.

    InvalidOperationException

    (Asynchronous) The source sequence is empty.

    | Improve this Doc View Source

    Aggregate<TSource, TAccumulate>(IObservable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>)

    Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. The specified seed value is used as the initial accumulator value. For aggregation behavior with incremental intermediate results, see Scan<TSource, TAccumulate>(IObservable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>).

    Declaration
    public static IObservable<TAccumulate> Aggregate<TSource, TAccumulate>(this IObservable<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> accumulator)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to aggregate over.

    TAccumulate seed

    The initial accumulator value.

    Func<TAccumulate, TSource, TAccumulate> accumulator

    An accumulator function to be invoked on each element.

    Returns
    Type Description
    IObservable<TAccumulate>

    An observable sequence containing a single element with the final accumulator value.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TAccumulate

    The type of the result of the aggregation.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or accumulator is null.

    | Improve this Doc View Source

    Aggregate<TSource, TAccumulate, TResult>(IObservable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>, Func<TAccumulate, TResult>)

    Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. The specified seed value is used as the initial accumulator value, and the specified result selector function is used to select the result value.

    Declaration
    public static IObservable<TResult> Aggregate<TSource, TAccumulate, TResult>(this IObservable<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> accumulator, Func<TAccumulate, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to aggregate over.

    TAccumulate seed

    The initial accumulator value.

    Func<TAccumulate, TSource, TAccumulate> accumulator

    An accumulator function to be invoked on each element.

    Func<TAccumulate, TResult> resultSelector

    A function to transform the final accumulator value into the result value.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing a single element with the final accumulator value.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TAccumulate

    The type of the accumulator value.

    TResult

    The type of the resulting value.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or accumulator or resultSelector is null.

    | Improve this Doc View Source

    All<TSource>(IObservable<TSource>, Func<TSource, Boolean>)

    Determines whether all elements of an observable sequence satisfy a condition.

    Declaration
    public static IObservable<bool> All<TSource>(this IObservable<TSource> source, Func<TSource, bool> predicate)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence whose elements to apply the predicate to.

    Func<TSource, Boolean> predicate

    A function to test each element for a condition.

    Returns
    Type Description
    IObservable<Boolean>

    An observable sequence containing a single element determining whether all elements in the source sequence pass the test in the specified predicate.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or predicate is null.

    | Improve this Doc View Source

    Amb<TSource>(IEnumerable<IObservable<TSource>>)

    Propagates the observable sequence that reacts first.

    Declaration
    public static IObservable<TSource> Amb<TSource>(this IEnumerable<IObservable<TSource>> sources)
    Parameters
    Type Name Description
    IEnumerable<IObservable<TSource>> sources

    Observable sources competing to react first.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that surfaces any of the given sequences, whichever reacted first.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences.

    Exceptions
    Type Condition
    ArgumentNullException

    sources is null.

    | Improve this Doc View Source

    Amb<TSource>(IObservable<TSource>, IObservable<TSource>)

    Propagates the observable sequence that reacts first.

    Declaration
    public static IObservable<TSource> Amb<TSource>(this IObservable<TSource> first, IObservable<TSource> second)
    Parameters
    Type Name Description
    IObservable<TSource> first

    First observable sequence.

    IObservable<TSource> second

    Second observable sequence.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that surfaces either of the given sequences, whichever reacted first.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences.

    Exceptions
    Type Condition
    ArgumentNullException

    first or second is null.

    | Improve this Doc View Source

    Amb<TSource>(IObservable<TSource>[])

    Propagates the observable sequence that reacts first.

    Declaration
    public static IObservable<TSource> Amb<TSource>(params IObservable<TSource>[] sources)
    Parameters
    Type Name Description
    IObservable<TSource>[] sources

    Observable sources competing to react first.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that surfaces any of the given sequences, whichever reacted first.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences.

    Exceptions
    Type Condition
    ArgumentNullException

    sources is null.

    | Improve this Doc View Source

    And<TLeft, TRight>(IObservable<TLeft>, IObservable<TRight>)

    Creates a pattern that matches when both observable sequences have an available element.

    Declaration
    public static Pattern<TLeft, TRight> And<TLeft, TRight>(this IObservable<TLeft> left, IObservable<TRight> right)
    Parameters
    Type Name Description
    IObservable<TLeft> left

    Observable sequence to match with the right sequence.

    IObservable<TRight> right

    Observable sequence to match with the left sequence.

    Returns
    Type Description
    Pattern<TLeft, TRight>

    Pattern object that matches when both observable sequences have an available element.

    Type Parameters
    Name Description
    TLeft

    The type of the elements in the left sequence.

    TRight

    The type of the elements in the right sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    left or right is null.

    | Improve this Doc View Source

    Any<TSource>(IObservable<TSource>)

    Determines whether an observable sequence contains any elements.

    Declaration
    public static IObservable<bool> Any<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to check for non-emptiness.

    Returns
    Type Description
    IObservable<Boolean>

    An observable sequence containing a single element determining whether the source sequence contains any elements.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Any<TSource>(IObservable<TSource>, Func<TSource, Boolean>)

    Determines whether any element of an observable sequence satisfies a condition.

    Declaration
    public static IObservable<bool> Any<TSource>(this IObservable<TSource> source, Func<TSource, bool> predicate)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence whose elements to apply the predicate to.

    Func<TSource, Boolean> predicate

    A function to test each element for a condition.

    Returns
    Type Description
    IObservable<Boolean>

    An observable sequence containing a single element determining whether any elements in the source sequence pass the test in the specified predicate.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or predicate is null.

    | Improve this Doc View Source

    AsObservable<TSource>(IObservable<TSource>)

    Hides the identity of an observable sequence.

    Declaration
    public static IObservable<TSource> AsObservable<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence whose identity to hide.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that hides the identity of the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Average(IObservable<Decimal>)

    Computes the average of an observable sequence of Decimal values.

    Declaration
    public static IObservable<decimal> Average(this IObservable<decimal> source)
    Parameters
    Type Name Description
    IObservable<Decimal> source

    A sequence of Decimal values to calculate the average of.

    Returns
    Type Description
    IObservable<Decimal>

    An observable sequence containing a single element with the average of the sequence of values.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    InvalidOperationException

    (Asynchronous) The source sequence is empty.

    OverflowException

    (Asynchronous) The sum of the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Average(IObservable<Double>)

    Computes the average of an observable sequence of Double values.

    Declaration
    public static IObservable<double> Average(this IObservable<double> source)
    Parameters
    Type Name Description
    IObservable<Double> source

    A sequence of Double values to calculate the average of.

    Returns
    Type Description
    IObservable<Double>

    An observable sequence containing a single element with the average of the sequence of values.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    InvalidOperationException

    (Asynchronous) The source sequence is empty.

    | Improve this Doc View Source

    Average(IObservable<Int32>)

    Computes the average of an observable sequence of Int32 values.

    Declaration
    public static IObservable<double> Average(this IObservable<int> source)
    Parameters
    Type Name Description
    IObservable<Int32> source

    A sequence of Int32 values to calculate the average of.

    Returns
    Type Description
    IObservable<Double>

    An observable sequence containing a single element with the average of the sequence of values.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    InvalidOperationException

    (Asynchronous) The source sequence is empty.

    OverflowException

    (Asynchronous) The sum of the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Average(IObservable<Int64>)

    Computes the average of an observable sequence of Int64 values.

    Declaration
    public static IObservable<double> Average(this IObservable<long> source)
    Parameters
    Type Name Description
    IObservable<Int64> source

    A sequence of Int64 values to calculate the average of.

    Returns
    Type Description
    IObservable<Double>

    An observable sequence containing a single element with the average of the sequence of values.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    InvalidOperationException

    (Asynchronous) The source sequence is empty.

    OverflowException

    (Asynchronous) The sum of the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Average(IObservable<Nullable<Decimal>>)

    Computes the average of an observable sequence of nullable Decimal values.

    Declaration
    public static IObservable<decimal?> Average(this IObservable<decimal?> source)
    Parameters
    Type Name Description
    IObservable<Nullable<Decimal>> source

    A sequence of nullable Decimal values to calculate the average of.

    Returns
    Type Description
    IObservable<Nullable<Decimal>>

    An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    InvalidOperationException

    (Asynchronous) The source sequence is empty.

    OverflowException

    (Asynchronous) The sum of the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Average(IObservable<Nullable<Double>>)

    Computes the average of an observable sequence of nullable Double values.

    Declaration
    public static IObservable<double?> Average(this IObservable<double?> source)
    Parameters
    Type Name Description
    IObservable<Nullable<Double>> source

    A sequence of nullable Double values to calculate the average of.

    Returns
    Type Description
    IObservable<Nullable<Double>>

    An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    InvalidOperationException

    (Asynchronous) The source sequence is empty.

    | Improve this Doc View Source

    Average(IObservable<Nullable<Int32>>)

    Computes the average of an observable sequence of nullable Int32 values.

    Declaration
    public static IObservable<double?> Average(this IObservable<int?> source)
    Parameters
    Type Name Description
    IObservable<Nullable<Int32>> source

    A sequence of nullable Int32 values to calculate the average of.

    Returns
    Type Description
    IObservable<Nullable<Double>>

    An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    InvalidOperationException

    (Asynchronous) The source sequence is empty.

    OverflowException

    (Asynchronous) The sum of the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Average(IObservable<Nullable<Int64>>)

    Computes the average of an observable sequence of nullable Int64 values.

    Declaration
    public static IObservable<double?> Average(this IObservable<long?> source)
    Parameters
    Type Name Description
    IObservable<Nullable<Int64>> source

    A sequence of nullable Int64 values to calculate the average of.

    Returns
    Type Description
    IObservable<Nullable<Double>>

    An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    InvalidOperationException

    (Asynchronous) The source sequence is empty.

    OverflowException

    (Asynchronous) The sum of the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Average(IObservable<Nullable<Single>>)

    Computes the average of an observable sequence of nullable Single values.

    Declaration
    public static IObservable<float?> Average(this IObservable<float?> source)
    Parameters
    Type Name Description
    IObservable<Nullable<Single>> source

    A sequence of nullable Single values to calculate the average of.

    Returns
    Type Description
    IObservable<Nullable<Single>>

    An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    InvalidOperationException

    (Asynchronous) The source sequence is empty.

    | Improve this Doc View Source

    Average(IObservable<Single>)

    Computes the average of an observable sequence of Single values.

    Declaration
    public static IObservable<float> Average(this IObservable<float> source)
    Parameters
    Type Name Description
    IObservable<Single> source

    A sequence of Single values to calculate the average of.

    Returns
    Type Description
    IObservable<Single>

    An observable sequence containing a single element with the average of the sequence of values.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    InvalidOperationException

    (Asynchronous) The source sequence is empty.

    | Improve this Doc View Source

    Average<TSource>(IObservable<TSource>, Func<TSource, Decimal>)

    Computes the average of an observable sequence of Decimal values that are obtained by invoking a transform function on each element of the input sequence.

    Declaration
    public static IObservable<decimal> Average<TSource>(this IObservable<TSource> source, Func<TSource, decimal> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to calculate the average of.

    Func<TSource, Decimal> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Decimal>

    An observable sequence containing a single element with the average of the sequence of values.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    InvalidOperationException

    (Asynchronous) The source sequence is empty.

    OverflowException

    (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Average<TSource>(IObservable<TSource>, Func<TSource, Double>)

    Computes the average of an observable sequence of Double values that are obtained by invoking a transform function on each element of the input sequence.

    Declaration
    public static IObservable<double> Average<TSource>(this IObservable<TSource> source, Func<TSource, double> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to calculate the average of.

    Func<TSource, Double> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Double>

    An observable sequence containing a single element with the average of the sequence of values.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    InvalidOperationException

    (Asynchronous) The source sequence is empty.

    | Improve this Doc View Source

    Average<TSource>(IObservable<TSource>, Func<TSource, Int32>)

    Computes the average of an observable sequence of Int32 values that are obtained by invoking a transform function on each element of the input sequence.

    Declaration
    public static IObservable<double> Average<TSource>(this IObservable<TSource> source, Func<TSource, int> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to calculate the average of.

    Func<TSource, Int32> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Double>

    An observable sequence containing a single element with the average of the sequence of values.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    InvalidOperationException

    (Asynchronous) The source sequence is empty.

    OverflowException

    (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Average<TSource>(IObservable<TSource>, Func<TSource, Int64>)

    Computes the average of an observable sequence of Int64 values that are obtained by invoking a transform function on each element of the input sequence.

    Declaration
    public static IObservable<double> Average<TSource>(this IObservable<TSource> source, Func<TSource, long> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to calculate the average of.

    Func<TSource, Int64> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Double>

    An observable sequence containing a single element with the average of the sequence of values.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    InvalidOperationException

    (Asynchronous) The source sequence is empty.

    OverflowException

    (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Average<TSource>(IObservable<TSource>, Func<TSource, Nullable<Decimal>>)

    Computes the average of an observable sequence of nullable Decimal values that are obtained by invoking a transform function on each element of the input sequence.

    Declaration
    public static IObservable<decimal?> Average<TSource>(this IObservable<TSource> source, Func<TSource, decimal?> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to calculate the average of.

    Func<TSource, Nullable<Decimal>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Nullable<Decimal>>

    An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    InvalidOperationException

    (Asynchronous) The source sequence is empty.

    OverflowException

    (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Average<TSource>(IObservable<TSource>, Func<TSource, Nullable<Double>>)

    Computes the average of an observable sequence of nullable Double values that are obtained by invoking a transform function on each element of the input sequence.

    Declaration
    public static IObservable<double?> Average<TSource>(this IObservable<TSource> source, Func<TSource, double?> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to calculate the average of.

    Func<TSource, Nullable<Double>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Nullable<Double>>

    An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    InvalidOperationException

    (Asynchronous) The source sequence is empty.

    | Improve this Doc View Source

    Average<TSource>(IObservable<TSource>, Func<TSource, Nullable<Int32>>)

    Computes the average of an observable sequence of nullable Int32 values that are obtained by invoking a transform function on each element of the input sequence.

    Declaration
    public static IObservable<double?> Average<TSource>(this IObservable<TSource> source, Func<TSource, int?> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to calculate the average of.

    Func<TSource, Nullable<Int32>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Nullable<Double>>

    An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    InvalidOperationException

    (Asynchronous) The source sequence is empty.

    OverflowException

    (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Average<TSource>(IObservable<TSource>, Func<TSource, Nullable<Int64>>)

    Computes the average of an observable sequence of nullable Int64 values that are obtained by invoking a transform function on each element of the input sequence.

    Declaration
    public static IObservable<double?> Average<TSource>(this IObservable<TSource> source, Func<TSource, long?> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to calculate the average of.

    Func<TSource, Nullable<Int64>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Nullable<Double>>

    An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    InvalidOperationException

    (Asynchronous) The source sequence is empty.

    OverflowException

    (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Average<TSource>(IObservable<TSource>, Func<TSource, Nullable<Single>>)

    Computes the average of an observable sequence of nullable Single values that are obtained by invoking a transform function on each element of the input sequence.

    Declaration
    public static IObservable<float?> Average<TSource>(this IObservable<TSource> source, Func<TSource, float?> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to calculate the average of.

    Func<TSource, Nullable<Single>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Nullable<Single>>

    An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    InvalidOperationException

    (Asynchronous) The source sequence is empty.

    | Improve this Doc View Source

    Average<TSource>(IObservable<TSource>, Func<TSource, Single>)

    Computes the average of an observable sequence of Single values that are obtained by invoking a transform function on each element of the input sequence.

    Declaration
    public static IObservable<float> Average<TSource>(this IObservable<TSource> source, Func<TSource, float> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to calculate the average of.

    Func<TSource, Single> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Single>

    An observable sequence containing a single element with the average of the sequence of values.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    InvalidOperationException

    (Asynchronous) The source sequence is empty.

    | Improve this Doc View Source

    Buffer<TSource>(IObservable<TSource>, Int32)

    Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on element count information.

    Declaration
    public static IObservable<IList<TSource>> Buffer<TSource>(this IObservable<TSource> source, int count)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to produce buffers over.

    Int32 count

    Length of each buffer.

    Returns
    Type Description
    IObservable<IList<TSource>>

    An observable sequence of buffers.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence, and in the lists in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    count is less than or equal to zero.

    | Improve this Doc View Source

    Buffer<TSource>(IObservable<TSource>, Int32, Int32)

    Projects each element of an observable sequence into zero or more buffers which are produced based on element count information.

    Declaration
    public static IObservable<IList<TSource>> Buffer<TSource>(this IObservable<TSource> source, int count, int skip)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to produce buffers over.

    Int32 count

    Length of each buffer.

    Int32 skip

    Number of elements to skip between creation of consecutive buffers.

    Returns
    Type Description
    IObservable<IList<TSource>>

    An observable sequence of buffers.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence, and in the lists in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    count or skip is less than or equal to zero.

    | Improve this Doc View Source

    Buffer<TSource>(IObservable<TSource>, TimeSpan)

    Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on timing information.

    Declaration
    public static IObservable<IList<TSource>> Buffer<TSource>(this IObservable<TSource> source, TimeSpan timeSpan)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to produce buffers over.

    TimeSpan timeSpan

    Length of each buffer.

    Returns
    Type Description
    IObservable<IList<TSource>>

    An observable sequence of buffers.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence, and in the lists in the result sequence.

    Remarks

    Specifying a TimeSpan.Zero value for timeSpan is not recommended but supported, causing the scheduler to create buffers as fast as it can. Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    timeSpan is less than TimeSpan.Zero.

    | Improve this Doc View Source

    Buffer<TSource>(IObservable<TSource>, TimeSpan, Int32)

    Projects each element of an observable sequence into a buffer that's sent out when either it's full or a given amount of time has elapsed. A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first.

    Declaration
    public static IObservable<IList<TSource>> Buffer<TSource>(this IObservable<TSource> source, TimeSpan timeSpan, int count)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to produce buffers over.

    TimeSpan timeSpan

    Maximum time length of a window.

    Int32 count

    Maximum element count of a window.

    Returns
    Type Description
    IObservable<IList<TSource>>

    An observable sequence of buffers.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence, and in the lists in the result sequence.

    Remarks

    Specifying a TimeSpan.Zero value for timeSpan is not recommended but supported, causing the scheduler to create buffers as fast as it can. Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    timeSpan is less than TimeSpan.Zero. -or- count is less than or equal to zero.

    | Improve this Doc View Source

    Buffer<TSource>(IObservable<TSource>, TimeSpan, Int32, IScheduler)

    Projects each element of an observable sequence into a buffer that's sent out when either it's full or a given amount of time has elapsed, using the specified scheduler to run timers. A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first.

    Declaration
    public static IObservable<IList<TSource>> Buffer<TSource>(this IObservable<TSource> source, TimeSpan timeSpan, int count, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to produce buffers over.

    TimeSpan timeSpan

    Maximum time length of a buffer.

    Int32 count

    Maximum element count of a buffer.

    IScheduler scheduler

    Scheduler to run buffering timers on.

    Returns
    Type Description
    IObservable<IList<TSource>>

    An observable sequence of buffers.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence, and in the lists in the result sequence.

    Remarks

    Specifying a TimeSpan.Zero value for timeSpan is not recommended but supported, causing the scheduler to create buffers as fast as it can. Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    ArgumentOutOfRangeException

    timeSpan is less than TimeSpan.Zero. -or- count is less than or equal to zero.

    | Improve this Doc View Source

    Buffer<TSource>(IObservable<TSource>, TimeSpan, IScheduler)

    Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on timing information, using the specified scheduler to run timers.

    Declaration
    public static IObservable<IList<TSource>> Buffer<TSource>(this IObservable<TSource> source, TimeSpan timeSpan, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to produce buffers over.

    TimeSpan timeSpan

    Length of each buffer.

    IScheduler scheduler

    Scheduler to run buffering timers on.

    Returns
    Type Description
    IObservable<IList<TSource>>

    An observable sequence of buffers.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence, and in the lists in the result sequence.

    Remarks

    Specifying a TimeSpan.Zero value for timeSpan is not recommended but supported, causing the scheduler to create buffers as fast as it can. Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    ArgumentOutOfRangeException

    timeSpan is less than TimeSpan.Zero.

    | Improve this Doc View Source

    Buffer<TSource>(IObservable<TSource>, TimeSpan, TimeSpan)

    Projects each element of an observable sequence into zero or more buffers which are produced based on timing information.

    Declaration
    public static IObservable<IList<TSource>> Buffer<TSource>(this IObservable<TSource> source, TimeSpan timeSpan, TimeSpan timeShift)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to produce buffers over.

    TimeSpan timeSpan

    Length of each buffer.

    TimeSpan timeShift

    Interval between creation of consecutive buffers.

    Returns
    Type Description
    IObservable<IList<TSource>>

    An observable sequence of buffers.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence, and in the lists in the result sequence.

    Remarks

    Specifying a TimeSpan.Zero value for timeSpan is not recommended but supported, causing the scheduler to create buffers with minimum duration length. However, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the current buffer may not execute immediately, despite the TimeSpan.Zero due time.

    Specifying a TimeSpan.Zero value for timeShift is not recommended but supported, causing the scheduler to create buffers as fast as it can. However, this doesn't mean all buffers will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, where the action to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    timeSpan or timeSpan is less than TimeSpan.Zero.

    | Improve this Doc View Source

    Buffer<TSource>(IObservable<TSource>, TimeSpan, TimeSpan, IScheduler)

    Projects each element of an observable sequence into zero or more buffers which are produced based on timing information, using the specified scheduler to run timers.

    Declaration
    public static IObservable<IList<TSource>> Buffer<TSource>(this IObservable<TSource> source, TimeSpan timeSpan, TimeSpan timeShift, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to produce buffers over.

    TimeSpan timeSpan

    Length of each buffer.

    TimeSpan timeShift

    Interval between creation of consecutive buffers.

    IScheduler scheduler

    Scheduler to run buffering timers on.

    Returns
    Type Description
    IObservable<IList<TSource>>

    An observable sequence of buffers.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence, and in the lists in the result sequence.

    Remarks

    Specifying a TimeSpan.Zero value for timeSpan is not recommended but supported, causing the scheduler to create buffers with minimum duration length. However, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the current buffer may not execute immediately, despite the TimeSpan.Zero due time.

    Specifying a TimeSpan.Zero value for timeShift is not recommended but supported, causing the scheduler to create buffers as fast as it can. However, this doesn't mean all buffers will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, where the action to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    ArgumentOutOfRangeException

    timeSpan or timeSpan is less than TimeSpan.Zero.

    | Improve this Doc View Source

    Buffer<TSource, TBufferClosing>(IObservable<TSource>, Func<IObservable<TBufferClosing>>)

    Projects each element of an observable sequence into consecutive non-overlapping buffers.

    Declaration
    public static IObservable<IList<TSource>> Buffer<TSource, TBufferClosing>(this IObservable<TSource> source, Func<IObservable<TBufferClosing>> bufferClosingSelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to produce buffers over.

    Func<IObservable<TBufferClosing>> bufferClosingSelector

    A function invoked to define the boundaries of the produced buffers. A new buffer is started when the previous one is closed.

    Returns
    Type Description
    IObservable<IList<TSource>>

    An observable sequence of buffers.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence, and in the lists in the result sequence.

    TBufferClosing

    The type of the elements in the sequences indicating buffer closing events.

    Exceptions
    Type Condition
    ArgumentNullException

    source or bufferClosingSelector is null.

    | Improve this Doc View Source

    Buffer<TSource, TBufferBoundary>(IObservable<TSource>, IObservable<TBufferBoundary>)

    Projects each element of an observable sequence into consecutive non-overlapping buffers.

    Declaration
    public static IObservable<IList<TSource>> Buffer<TSource, TBufferBoundary>(this IObservable<TSource> source, IObservable<TBufferBoundary> bufferBoundaries)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to produce buffers over.

    IObservable<TBufferBoundary> bufferBoundaries

    Sequence of buffer boundary markers. The current buffer is closed and a new buffer is opened upon receiving a boundary marker.

    Returns
    Type Description
    IObservable<IList<TSource>>

    An observable sequence of buffers.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence, and in the lists in the result sequence.

    TBufferBoundary

    The type of the elements in the sequences indicating buffer boundary events.

    Exceptions
    Type Condition
    ArgumentNullException

    source or bufferBoundaries is null.

    | Improve this Doc View Source

    Buffer<TSource, TBufferOpening, TBufferClosing>(IObservable<TSource>, IObservable<TBufferOpening>, Func<TBufferOpening, IObservable<TBufferClosing>>)

    Projects each element of an observable sequence into zero or more buffers.

    Declaration
    public static IObservable<IList<TSource>> Buffer<TSource, TBufferOpening, TBufferClosing>(this IObservable<TSource> source, IObservable<TBufferOpening> bufferOpenings, Func<TBufferOpening, IObservable<TBufferClosing>> bufferClosingSelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to produce buffers over.

    IObservable<TBufferOpening> bufferOpenings

    Observable sequence whose elements denote the creation of new buffers.

    Func<TBufferOpening, IObservable<TBufferClosing>> bufferClosingSelector

    A function invoked to define the closing of each produced buffer.

    Returns
    Type Description
    IObservable<IList<TSource>>

    An observable sequence of buffers.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence, and in the lists in the result sequence.

    TBufferOpening

    The type of the elements in the sequence indicating buffer opening events, also passed to the closing selector to obtain a sequence of buffer closing events.

    TBufferClosing

    The type of the elements in the sequences indicating buffer closing events.

    Exceptions
    Type Condition
    ArgumentNullException

    source or bufferOpenings or bufferClosingSelector is null.

    | Improve this Doc View Source

    Case<TValue, TResult>(Func<TValue>, IDictionary<TValue, IObservable<TResult>>)

    Uses selector to determine which source in sources to return, choosing an empty sequence if no match is found.

    Declaration
    public static IObservable<TResult> Case<TValue, TResult>(Func<TValue> selector, IDictionary<TValue, IObservable<TResult>> sources)
    Parameters
    Type Name Description
    Func<TValue> selector

    Selector function invoked to determine the source to lookup in the sources dictionary.

    IDictionary<TValue, IObservable<TResult>> sources

    Dictionary of sources to select from based on the selector invocation result.

    Returns
    Type Description
    IObservable<TResult>

    The observable sequence retrieved from the sources dictionary based on the selector invocation result, or an empty sequence if no match is found.

    Type Parameters
    Name Description
    TValue

    The type of the value returned by the selector function, used to look up the resulting source.

    TResult

    The type of the elements in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    selector or sources is null.

    | Improve this Doc View Source

    Case<TValue, TResult>(Func<TValue>, IDictionary<TValue, IObservable<TResult>>, IObservable<TResult>)

    Uses selector to determine which source in sources to return, choosing defaultSource if no match is found.

    Declaration
    public static IObservable<TResult> Case<TValue, TResult>(Func<TValue> selector, IDictionary<TValue, IObservable<TResult>> sources, IObservable<TResult> defaultSource)
    Parameters
    Type Name Description
    Func<TValue> selector

    Selector function invoked to determine the source to lookup in the sources dictionary.

    IDictionary<TValue, IObservable<TResult>> sources

    Dictionary of sources to select from based on the selector invocation result.

    IObservable<TResult> defaultSource

    Default source to select in case no matching source in sources is found.

    Returns
    Type Description
    IObservable<TResult>

    The observable sequence retrieved from the sources dictionary based on the selector invocation result, or defaultSource if no match is found.

    Type Parameters
    Name Description
    TValue

    The type of the value returned by the selector function, used to look up the resulting source.

    TResult

    The type of the elements in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    selector or sources or defaultSource is null.

    | Improve this Doc View Source

    Case<TValue, TResult>(Func<TValue>, IDictionary<TValue, IObservable<TResult>>, IScheduler)

    Uses selector to determine which source in sources to return, choosing an empty sequence on the specified scheduler if no match is found.

    Declaration
    public static IObservable<TResult> Case<TValue, TResult>(Func<TValue> selector, IDictionary<TValue, IObservable<TResult>> sources, IScheduler scheduler)
    Parameters
    Type Name Description
    Func<TValue> selector

    Selector function invoked to determine the source to lookup in the sources dictionary.

    IDictionary<TValue, IObservable<TResult>> sources

    Dictionary of sources to select from based on the selector invocation result.

    IScheduler scheduler

    Scheduler to generate an empty sequence on in case no matching source in sources is found.

    Returns
    Type Description
    IObservable<TResult>

    The observable sequence retrieved from the sources dictionary based on the selector invocation result, or an empty sequence if no match is found.

    Type Parameters
    Name Description
    TValue

    The type of the value returned by the selector function, used to look up the resulting source.

    TResult

    The type of the elements in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    selector or sources or scheduler is null.

    | Improve this Doc View Source

    Cast<TResult>(IObservable<Object>)

    Converts the elements of an observable sequence to the specified type.

    Declaration
    public static IObservable<TResult> Cast<TResult>(this IObservable<object> source)
    Parameters
    Type Name Description
    IObservable<Object> source

    The observable sequence that contains the elements to be converted.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence that contains each element of the source sequence converted to the specified type.

    Type Parameters
    Name Description
    TResult

    The type to convert the elements in the source sequence to.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Catch<TSource>(IEnumerable<IObservable<TSource>>)

    Continues an observable sequence that is terminated by an exception with the next observable sequence.

    Declaration
    public static IObservable<TSource> Catch<TSource>(this IEnumerable<IObservable<TSource>> sources)
    Parameters
    Type Name Description
    IEnumerable<IObservable<TSource>> sources

    Observable sequences to catch exceptions for.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source and handler sequences.

    Exceptions
    Type Condition
    ArgumentNullException

    sources is null.

    | Improve this Doc View Source

    Catch<TSource>(IObservable<TSource>, IObservable<TSource>)

    Continues an observable sequence that is terminated by an exception with the next observable sequence.

    Declaration
    public static IObservable<TSource> Catch<TSource>(this IObservable<TSource> first, IObservable<TSource> second)
    Parameters
    Type Name Description
    IObservable<TSource> first

    First observable sequence whose exception (if any) is caught.

    IObservable<TSource> second

    Second observable sequence used to produce results when an error occurred in the first sequence.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence containing the first sequence's elements, followed by the elements of the second sequence in case an exception occurred.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence and handler sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    first or second is null.

    | Improve this Doc View Source

    Catch<TSource>(IObservable<TSource>[])

    Continues an observable sequence that is terminated by an exception with the next observable sequence.

    Declaration
    public static IObservable<TSource> Catch<TSource>(params IObservable<TSource>[] sources)
    Parameters
    Type Name Description
    IObservable<TSource>[] sources

    Observable sequences to catch exceptions for.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source and handler sequences.

    Exceptions
    Type Condition
    ArgumentNullException

    sources is null.

    | Improve this Doc View Source

    Catch<TSource, TException>(IObservable<TSource>, Func<TException, IObservable<TSource>>)

    Continues an observable sequence that is terminated by an exception of the specified type with the observable sequence produced by the handler.

    Declaration
    public static IObservable<TSource> Catch<TSource, TException>(this IObservable<TSource> source, Func<TException, IObservable<TSource>> handler)
        where TException : Exception
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    Func<TException, IObservable<TSource>> handler

    Exception handler function, producing another observable sequence.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence containing the source sequence's elements, followed by the elements produced by the handler's resulting observable sequence in case an exception occurred.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence and sequences returned by the exception handler function.

    TException

    The type of the exception to catch and handle. Needs to derive from Exception.

    Exceptions
    Type Condition
    ArgumentNullException

    source or handler is null.

    | Improve this Doc View Source

    Chunkify<TSource>(IObservable<TSource>)

    Produces an enumerable sequence of consecutive (possibly empty) chunks of the source sequence.

    Declaration
    public static IEnumerable<IList<TSource>> Chunkify<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Returns
    Type Description
    IEnumerable<IList<TSource>>

    The enumerable sequence that returns consecutive (possibly empty) chunks upon each iteration.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Collect<TSource, TResult>(IObservable<TSource>, Func<TResult>, Func<TResult, TSource, TResult>)

    Produces an enumerable sequence that returns elements collected/aggregated from the source sequence between consecutive iterations.

    Declaration
    public static IEnumerable<TResult> Collect<TSource, TResult>(this IObservable<TSource> source, Func<TResult> newCollector, Func<TResult, TSource, TResult> merge)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Func<TResult> newCollector

    Factory to create a new collector object.

    Func<TResult, TSource, TResult> merge

    Merges a sequence element with the current collector.

    Returns
    Type Description
    IEnumerable<TResult>

    The enumerable sequence that returns collected/aggregated elements from the source sequence upon each iteration.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the elements produced by the merge operation during collection.

    Exceptions
    Type Condition
    ArgumentNullException

    source or newCollector or merge is null.

    | Improve this Doc View Source

    Collect<TSource, TResult>(IObservable<TSource>, Func<TResult>, Func<TResult, TSource, TResult>, Func<TResult, TResult>)

    Produces an enumerable sequence that returns elements collected/aggregated from the source sequence between consecutive iterations.

    Declaration
    public static IEnumerable<TResult> Collect<TSource, TResult>(this IObservable<TSource> source, Func<TResult> getInitialCollector, Func<TResult, TSource, TResult> merge, Func<TResult, TResult> getNewCollector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Func<TResult> getInitialCollector

    Factory to create the initial collector object.

    Func<TResult, TSource, TResult> merge

    Merges a sequence element with the current collector.

    Func<TResult, TResult> getNewCollector

    Factory to replace the current collector by a new collector.

    Returns
    Type Description
    IEnumerable<TResult>

    The enumerable sequence that returns collected/aggregated elements from the source sequence upon each iteration.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the elements produced by the merge operation during collection.

    Exceptions
    Type Condition
    ArgumentNullException

    source or getInitialCollector or merge or getNewCollector is null.

    | Improve this Doc View Source

    CombineLatest<TSource>(IEnumerable<IObservable<TSource>>)

    Merges the specified observable sequences into one observable sequence by emitting a list with the latest source elements whenever any of the observable sequences produces an element.

    Declaration
    public static IObservable<IList<TSource>> CombineLatest<TSource>(this IEnumerable<IObservable<TSource>> sources)
    Parameters
    Type Name Description
    IEnumerable<IObservable<TSource>> sources

    Observable sources.

    Returns
    Type Description
    IObservable<IList<TSource>>

    An observable sequence containing lists of the latest elements of the sources.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences, and in the lists in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    sources is null.

    | Improve this Doc View Source

    CombineLatest<TSource>(IObservable<TSource>[])

    Merges the specified observable sequences into one observable sequence by emitting a list with the latest source elements whenever any of the observable sequences produces an element.

    Declaration
    public static IObservable<IList<TSource>> CombineLatest<TSource>(params IObservable<TSource>[] sources)
    Parameters
    Type Name Description
    IObservable<TSource>[] sources

    Observable sources.

    Returns
    Type Description
    IObservable<IList<TSource>>

    An observable sequence containing lists of the latest elements of the sources.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences, and in the lists in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    sources is null.

    | Improve this Doc View Source

    CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, IObservable<TSource6>, IObservable<TSource7>, IObservable<TSource8>, IObservable<TSource9>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.

    Declaration
    public static IObservable<TResult> CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, IObservable<TSource6> source6, IObservable<TSource7> source7, IObservable<TSource8> source8, IObservable<TSource9> source9, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    IObservable<TSource6> source6

    Sixth observable source.

    IObservable<TSource7> source7

    Seventh observable source.

    IObservable<TSource8> source8

    Eighth observable source.

    IObservable<TSource9> source9

    Ninth observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TResult> resultSelector

    Function to invoke whenever any of the sources produces an element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TSource6

    The type of the elements in the sixth source sequence.

    TSource7

    The type of the elements in the seventh source sequence.

    TSource8

    The type of the elements in the eighth source sequence.

    TSource9

    The type of the elements in the ninth source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or source6 or source7 or source8 or source9 or resultSelector is null.

    | Improve this Doc View Source

    CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, IObservable<TSource6>, IObservable<TSource7>, IObservable<TSource8>, IObservable<TSource9>, IObservable<TSource10>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.

    Declaration
    public static IObservable<TResult> CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, IObservable<TSource6> source6, IObservable<TSource7> source7, IObservable<TSource8> source8, IObservable<TSource9> source9, IObservable<TSource10> source10, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    IObservable<TSource6> source6

    Sixth observable source.

    IObservable<TSource7> source7

    Seventh observable source.

    IObservable<TSource8> source8

    Eighth observable source.

    IObservable<TSource9> source9

    Ninth observable source.

    IObservable<TSource10> source10

    Tenth observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TResult> resultSelector

    Function to invoke whenever any of the sources produces an element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TSource6

    The type of the elements in the sixth source sequence.

    TSource7

    The type of the elements in the seventh source sequence.

    TSource8

    The type of the elements in the eighth source sequence.

    TSource9

    The type of the elements in the ninth source sequence.

    TSource10

    The type of the elements in the tenth source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or source6 or source7 or source8 or source9 or source10 or resultSelector is null.

    | Improve this Doc View Source

    CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, IObservable<TSource6>, IObservable<TSource7>, IObservable<TSource8>, IObservable<TSource9>, IObservable<TSource10>, IObservable<TSource11>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.

    Declaration
    public static IObservable<TResult> CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, IObservable<TSource6> source6, IObservable<TSource7> source7, IObservable<TSource8> source8, IObservable<TSource9> source9, IObservable<TSource10> source10, IObservable<TSource11> source11, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    IObservable<TSource6> source6

    Sixth observable source.

    IObservable<TSource7> source7

    Seventh observable source.

    IObservable<TSource8> source8

    Eighth observable source.

    IObservable<TSource9> source9

    Ninth observable source.

    IObservable<TSource10> source10

    Tenth observable source.

    IObservable<TSource11> source11

    Eleventh observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TResult> resultSelector

    Function to invoke whenever any of the sources produces an element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TSource6

    The type of the elements in the sixth source sequence.

    TSource7

    The type of the elements in the seventh source sequence.

    TSource8

    The type of the elements in the eighth source sequence.

    TSource9

    The type of the elements in the ninth source sequence.

    TSource10

    The type of the elements in the tenth source sequence.

    TSource11

    The type of the elements in the eleventh source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or source6 or source7 or source8 or source9 or source10 or source11 or resultSelector is null.

    | Improve this Doc View Source

    CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, IObservable<TSource6>, IObservable<TSource7>, IObservable<TSource8>, IObservable<TSource9>, IObservable<TSource10>, IObservable<TSource11>, IObservable<TSource12>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.

    Declaration
    public static IObservable<TResult> CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, IObservable<TSource6> source6, IObservable<TSource7> source7, IObservable<TSource8> source8, IObservable<TSource9> source9, IObservable<TSource10> source10, IObservable<TSource11> source11, IObservable<TSource12> source12, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    IObservable<TSource6> source6

    Sixth observable source.

    IObservable<TSource7> source7

    Seventh observable source.

    IObservable<TSource8> source8

    Eighth observable source.

    IObservable<TSource9> source9

    Ninth observable source.

    IObservable<TSource10> source10

    Tenth observable source.

    IObservable<TSource11> source11

    Eleventh observable source.

    IObservable<TSource12> source12

    Twelfth observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TResult> resultSelector

    Function to invoke whenever any of the sources produces an element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TSource6

    The type of the elements in the sixth source sequence.

    TSource7

    The type of the elements in the seventh source sequence.

    TSource8

    The type of the elements in the eighth source sequence.

    TSource9

    The type of the elements in the ninth source sequence.

    TSource10

    The type of the elements in the tenth source sequence.

    TSource11

    The type of the elements in the eleventh source sequence.

    TSource12

    The type of the elements in the twelfth source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or source6 or source7 or source8 or source9 or source10 or source11 or source12 or resultSelector is null.

    | Improve this Doc View Source

    CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, IObservable<TSource6>, IObservable<TSource7>, IObservable<TSource8>, IObservable<TSource9>, IObservable<TSource10>, IObservable<TSource11>, IObservable<TSource12>, IObservable<TSource13>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.

    Declaration
    public static IObservable<TResult> CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, IObservable<TSource6> source6, IObservable<TSource7> source7, IObservable<TSource8> source8, IObservable<TSource9> source9, IObservable<TSource10> source10, IObservable<TSource11> source11, IObservable<TSource12> source12, IObservable<TSource13> source13, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    IObservable<TSource6> source6

    Sixth observable source.

    IObservable<TSource7> source7

    Seventh observable source.

    IObservable<TSource8> source8

    Eighth observable source.

    IObservable<TSource9> source9

    Ninth observable source.

    IObservable<TSource10> source10

    Tenth observable source.

    IObservable<TSource11> source11

    Eleventh observable source.

    IObservable<TSource12> source12

    Twelfth observable source.

    IObservable<TSource13> source13

    Thirteenth observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TResult> resultSelector

    Function to invoke whenever any of the sources produces an element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TSource6

    The type of the elements in the sixth source sequence.

    TSource7

    The type of the elements in the seventh source sequence.

    TSource8

    The type of the elements in the eighth source sequence.

    TSource9

    The type of the elements in the ninth source sequence.

    TSource10

    The type of the elements in the tenth source sequence.

    TSource11

    The type of the elements in the eleventh source sequence.

    TSource12

    The type of the elements in the twelfth source sequence.

    TSource13

    The type of the elements in the thirteenth source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or source6 or source7 or source8 or source9 or source10 or source11 or source12 or source13 or resultSelector is null.

    | Improve this Doc View Source

    CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, IObservable<TSource6>, IObservable<TSource7>, IObservable<TSource8>, IObservable<TSource9>, IObservable<TSource10>, IObservable<TSource11>, IObservable<TSource12>, IObservable<TSource13>, IObservable<TSource14>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.

    Declaration
    public static IObservable<TResult> CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, IObservable<TSource6> source6, IObservable<TSource7> source7, IObservable<TSource8> source8, IObservable<TSource9> source9, IObservable<TSource10> source10, IObservable<TSource11> source11, IObservable<TSource12> source12, IObservable<TSource13> source13, IObservable<TSource14> source14, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    IObservable<TSource6> source6

    Sixth observable source.

    IObservable<TSource7> source7

    Seventh observable source.

    IObservable<TSource8> source8

    Eighth observable source.

    IObservable<TSource9> source9

    Ninth observable source.

    IObservable<TSource10> source10

    Tenth observable source.

    IObservable<TSource11> source11

    Eleventh observable source.

    IObservable<TSource12> source12

    Twelfth observable source.

    IObservable<TSource13> source13

    Thirteenth observable source.

    IObservable<TSource14> source14

    Fourteenth observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TResult> resultSelector

    Function to invoke whenever any of the sources produces an element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TSource6

    The type of the elements in the sixth source sequence.

    TSource7

    The type of the elements in the seventh source sequence.

    TSource8

    The type of the elements in the eighth source sequence.

    TSource9

    The type of the elements in the ninth source sequence.

    TSource10

    The type of the elements in the tenth source sequence.

    TSource11

    The type of the elements in the eleventh source sequence.

    TSource12

    The type of the elements in the twelfth source sequence.

    TSource13

    The type of the elements in the thirteenth source sequence.

    TSource14

    The type of the elements in the fourteenth source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or source6 or source7 or source8 or source9 or source10 or source11 or source12 or source13 or source14 or resultSelector is null.

    | Improve this Doc View Source

    CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, IObservable<TSource6>, IObservable<TSource7>, IObservable<TSource8>, IObservable<TSource9>, IObservable<TSource10>, IObservable<TSource11>, IObservable<TSource12>, IObservable<TSource13>, IObservable<TSource14>, IObservable<TSource15>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.

    Declaration
    public static IObservable<TResult> CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, IObservable<TSource6> source6, IObservable<TSource7> source7, IObservable<TSource8> source8, IObservable<TSource9> source9, IObservable<TSource10> source10, IObservable<TSource11> source11, IObservable<TSource12> source12, IObservable<TSource13> source13, IObservable<TSource14> source14, IObservable<TSource15> source15, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    IObservable<TSource6> source6

    Sixth observable source.

    IObservable<TSource7> source7

    Seventh observable source.

    IObservable<TSource8> source8

    Eighth observable source.

    IObservable<TSource9> source9

    Ninth observable source.

    IObservable<TSource10> source10

    Tenth observable source.

    IObservable<TSource11> source11

    Eleventh observable source.

    IObservable<TSource12> source12

    Twelfth observable source.

    IObservable<TSource13> source13

    Thirteenth observable source.

    IObservable<TSource14> source14

    Fourteenth observable source.

    IObservable<TSource15> source15

    Fifteenth observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TResult> resultSelector

    Function to invoke whenever any of the sources produces an element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TSource6

    The type of the elements in the sixth source sequence.

    TSource7

    The type of the elements in the seventh source sequence.

    TSource8

    The type of the elements in the eighth source sequence.

    TSource9

    The type of the elements in the ninth source sequence.

    TSource10

    The type of the elements in the tenth source sequence.

    TSource11

    The type of the elements in the eleventh source sequence.

    TSource12

    The type of the elements in the twelfth source sequence.

    TSource13

    The type of the elements in the thirteenth source sequence.

    TSource14

    The type of the elements in the fourteenth source sequence.

    TSource15

    The type of the elements in the fifteenth source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or source6 or source7 or source8 or source9 or source10 or source11 or source12 or source13 or source14 or source15 or resultSelector is null.

    | Improve this Doc View Source

    CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TSource16, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, IObservable<TSource6>, IObservable<TSource7>, IObservable<TSource8>, IObservable<TSource9>, IObservable<TSource10>, IObservable<TSource11>, IObservable<TSource12>, IObservable<TSource13>, IObservable<TSource14>, IObservable<TSource15>, IObservable<TSource16>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TSource16, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.

    Declaration
    public static IObservable<TResult> CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TSource16, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, IObservable<TSource6> source6, IObservable<TSource7> source7, IObservable<TSource8> source8, IObservable<TSource9> source9, IObservable<TSource10> source10, IObservable<TSource11> source11, IObservable<TSource12> source12, IObservable<TSource13> source13, IObservable<TSource14> source14, IObservable<TSource15> source15, IObservable<TSource16> source16, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TSource16, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    IObservable<TSource6> source6

    Sixth observable source.

    IObservable<TSource7> source7

    Seventh observable source.

    IObservable<TSource8> source8

    Eighth observable source.

    IObservable<TSource9> source9

    Ninth observable source.

    IObservable<TSource10> source10

    Tenth observable source.

    IObservable<TSource11> source11

    Eleventh observable source.

    IObservable<TSource12> source12

    Twelfth observable source.

    IObservable<TSource13> source13

    Thirteenth observable source.

    IObservable<TSource14> source14

    Fourteenth observable source.

    IObservable<TSource15> source15

    Fifteenth observable source.

    IObservable<TSource16> source16

    Sixteenth observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TSource16, TResult> resultSelector

    Function to invoke whenever any of the sources produces an element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TSource6

    The type of the elements in the sixth source sequence.

    TSource7

    The type of the elements in the seventh source sequence.

    TSource8

    The type of the elements in the eighth source sequence.

    TSource9

    The type of the elements in the ninth source sequence.

    TSource10

    The type of the elements in the tenth source sequence.

    TSource11

    The type of the elements in the eleventh source sequence.

    TSource12

    The type of the elements in the twelfth source sequence.

    TSource13

    The type of the elements in the thirteenth source sequence.

    TSource14

    The type of the elements in the fourteenth source sequence.

    TSource15

    The type of the elements in the fifteenth source sequence.

    TSource16

    The type of the elements in the sixteenth source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or source6 or source7 or source8 or source9 or source10 or source11 or source12 or source13 or source14 or source15 or source16 or resultSelector is null.

    | Improve this Doc View Source

    CombineLatest<TSource, TResult>(IEnumerable<IObservable<TSource>>, Func<IList<TSource>, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.

    Declaration
    public static IObservable<TResult> CombineLatest<TSource, TResult>(this IEnumerable<IObservable<TSource>> sources, Func<IList<TSource>, TResult> resultSelector)
    Parameters
    Type Name Description
    IEnumerable<IObservable<TSource>> sources

    Observable sources.

    Func<IList<TSource>, TResult> resultSelector

    Function to invoke whenever any of the sources produces an element. For efficiency, the input list is reused after the selector returns. Either aggregate or copy the values during the function call.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    sources or resultSelector is null.

    | Improve this Doc View Source

    CombineLatest<TSource1, TSource2, TResult>(IObservable<TSource1>, IObservable<TSource2>, Func<TSource1, TSource2, TResult>)

    Merges two observable sequences into one observable sequence by using the selector function whenever one of the observable sequences produces an element.

    Declaration
    public static IObservable<TResult> CombineLatest<TSource1, TSource2, TResult>(this IObservable<TSource1> first, IObservable<TSource2> second, Func<TSource1, TSource2, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> first

    First observable source.

    IObservable<TSource2> second

    Second observable source.

    Func<TSource1, TSource2, TResult> resultSelector

    Function to invoke whenever either of the sources produces an element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of both sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    first or second or resultSelector is null.

    | Improve this Doc View Source

    CombineLatest<TSource1, TSource2, TSource3, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, Func<TSource1, TSource2, TSource3, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.

    Declaration
    public static IObservable<TResult> CombineLatest<TSource1, TSource2, TSource3, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, Func<TSource1, TSource2, TSource3, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    Func<TSource1, TSource2, TSource3, TResult> resultSelector

    Function to invoke whenever any of the sources produces an element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or resultSelector is null.

    | Improve this Doc View Source

    CombineLatest<TSource1, TSource2, TSource3, TSource4, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, Func<TSource1, TSource2, TSource3, TSource4, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.

    Declaration
    public static IObservable<TResult> CombineLatest<TSource1, TSource2, TSource3, TSource4, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, Func<TSource1, TSource2, TSource3, TSource4, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TResult> resultSelector

    Function to invoke whenever any of the sources produces an element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or resultSelector is null.

    | Improve this Doc View Source

    CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.

    Declaration
    public static IObservable<TResult> CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TResult> resultSelector

    Function to invoke whenever any of the sources produces an element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or resultSelector is null.

    | Improve this Doc View Source

    CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, IObservable<TSource6>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.

    Declaration
    public static IObservable<TResult> CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, IObservable<TSource6> source6, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    IObservable<TSource6> source6

    Sixth observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TResult> resultSelector

    Function to invoke whenever any of the sources produces an element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TSource6

    The type of the elements in the sixth source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or source6 or resultSelector is null.

    | Improve this Doc View Source

    CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, IObservable<TSource6>, IObservable<TSource7>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.

    Declaration
    public static IObservable<TResult> CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, IObservable<TSource6> source6, IObservable<TSource7> source7, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    IObservable<TSource6> source6

    Sixth observable source.

    IObservable<TSource7> source7

    Seventh observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TResult> resultSelector

    Function to invoke whenever any of the sources produces an element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TSource6

    The type of the elements in the sixth source sequence.

    TSource7

    The type of the elements in the seventh source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or source6 or source7 or resultSelector is null.

    | Improve this Doc View Source

    CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, IObservable<TSource6>, IObservable<TSource7>, IObservable<TSource8>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.

    Declaration
    public static IObservable<TResult> CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, IObservable<TSource6> source6, IObservable<TSource7> source7, IObservable<TSource8> source8, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    IObservable<TSource6> source6

    Sixth observable source.

    IObservable<TSource7> source7

    Seventh observable source.

    IObservable<TSource8> source8

    Eighth observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TResult> resultSelector

    Function to invoke whenever any of the sources produces an element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TSource6

    The type of the elements in the sixth source sequence.

    TSource7

    The type of the elements in the seventh source sequence.

    TSource8

    The type of the elements in the eighth source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or source6 or source7 or source8 or resultSelector is null.

    | Improve this Doc View Source

    Concat<TSource>(IEnumerable<IObservable<TSource>>)

    Concatenates all observable sequences in the given enumerable sequence, as long as the previous observable sequence terminated successfully.

    Declaration
    public static IObservable<TSource> Concat<TSource>(this IEnumerable<IObservable<TSource>> sources)
    Parameters
    Type Name Description
    IEnumerable<IObservable<TSource>> sources

    Observable sequences to concatenate.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that contains the elements of each given sequence, in sequential order.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences.

    Exceptions
    Type Condition
    ArgumentNullException

    sources is null.

    | Improve this Doc View Source

    Concat<TSource>(IObservable<TSource>, IObservable<TSource>)

    Concatenates the second observable sequence to the first observable sequence upon successful termination of the first.

    Declaration
    public static IObservable<TSource> Concat<TSource>(this IObservable<TSource> first, IObservable<TSource> second)
    Parameters
    Type Name Description
    IObservable<TSource> first

    First observable sequence.

    IObservable<TSource> second

    Second observable sequence.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that contains the elements of the first sequence, followed by those of the second the sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences.

    Exceptions
    Type Condition
    ArgumentNullException

    first or second is null.

    | Improve this Doc View Source

    Concat<TSource>(IObservable<TSource>[])

    Concatenates all of the specified observable sequences, as long as the previous observable sequence terminated successfully.

    Declaration
    public static IObservable<TSource> Concat<TSource>(params IObservable<TSource>[] sources)
    Parameters
    Type Name Description
    IObservable<TSource>[] sources

    Observable sequences to concatenate.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that contains the elements of each given sequence, in sequential order.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences.

    Exceptions
    Type Condition
    ArgumentNullException

    sources is null.

    | Improve this Doc View Source

    Concat<TSource>(IObservable<IObservable<TSource>>)

    Concatenates all inner observable sequences, as long as the previous observable sequence terminated successfully.

    Declaration
    public static IObservable<TSource> Concat<TSource>(this IObservable<IObservable<TSource>> sources)
    Parameters
    Type Name Description
    IObservable<IObservable<TSource>> sources

    Observable sequence of inner observable sequences.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that contains the elements of each observed inner sequence, in sequential order.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences.

    Exceptions
    Type Condition
    ArgumentNullException

    sources is null.

    | Improve this Doc View Source

    Concat<TSource>(IObservable<Task<TSource>>)

    Concatenates all task results, as long as the previous task terminated successfully.

    Declaration
    public static IObservable<TSource> Concat<TSource>(this IObservable<Task<TSource>> sources)
    Parameters
    Type Name Description
    IObservable<Task<TSource>> sources

    Observable sequence of tasks.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that contains the results of each task, in sequential order.

    Type Parameters
    Name Description
    TSource

    The type of the results produced by the tasks.

    Remarks

    If the tasks support cancellation, consider manual conversion of the tasks using FromAsync<TResult>(Func<CancellationToken, Task<TResult>>), followed by a concatenation operation using Concat<TSource>(IObservable<IObservable<TSource>>).

    Exceptions
    Type Condition
    ArgumentNullException

    sources is null.

    | Improve this Doc View Source

    Contains<TSource>(IObservable<TSource>, TSource)

    Determines whether an observable sequence contains a specified element by using the default equality comparer.

    Declaration
    public static IObservable<bool> Contains<TSource>(this IObservable<TSource> source, TSource value)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence in which to locate a value.

    TSource value

    The value to locate in the source sequence.

    Returns
    Type Description
    IObservable<Boolean>

    An observable sequence containing a single element determining whether the source sequence contains an element that has the specified value.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Contains<TSource>(IObservable<TSource>, TSource, IEqualityComparer<TSource>)

    Determines whether an observable sequence contains a specified element by using a specified System.Collections.Generic.IEqualityComparer<T>.

    Declaration
    public static IObservable<bool> Contains<TSource>(this IObservable<TSource> source, TSource value, IEqualityComparer<TSource> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence in which to locate a value.

    TSource value

    The value to locate in the source sequence.

    IEqualityComparer<TSource> comparer

    An equality comparer to compare elements.

    Returns
    Type Description
    IObservable<Boolean>

    An observable sequence containing a single element determining whether the source sequence contains an element that has the specified value.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or comparer is null.

    | Improve this Doc View Source

    Count<TSource>(IObservable<TSource>)

    Returns an observable sequence containing an Int32 that represents the total number of elements in an observable sequence.

    Declaration
    public static IObservable<int> Count<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence that contains elements to be counted.

    Returns
    Type Description
    IObservable<Int32>

    An observable sequence containing a single element with the number of elements in the input sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    OverflowException

    (Asynchronous) The number of elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Count<TSource>(IObservable<TSource>, Func<TSource, Boolean>)

    Returns an observable sequence containing an Int32 that represents how many elements in the specified observable sequence satisfy a condition.

    Declaration
    public static IObservable<int> Count<TSource>(this IObservable<TSource> source, Func<TSource, bool> predicate)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence that contains elements to be counted.

    Func<TSource, Boolean> predicate

    A function to test each element for a condition.

    Returns
    Type Description
    IObservable<Int32>

    An observable sequence containing a single element with a number that represents how many elements in the input sequence satisfy the condition in the predicate function.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or predicate is null.

    | Improve this Doc View Source

    Create<TResult>(Func<IObserver<TResult>, Action>)

    Creates an observable sequence from a specified Subscribe method implementation.

    Declaration
    public static IObservable<TResult> Create<TResult>(Func<IObserver<TResult>, Action> subscribe)
    Parameters
    Type Name Description
    Func<IObserver<TResult>, Action> subscribe

    Implementation of the resulting observable sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable.

    Returns
    Type Description
    IObservable<TResult>

    The observable sequence with the specified implementation for the Subscribe method.

    Type Parameters
    Name Description
    TResult

    The type of the elements in the produced sequence.

    Remarks

    Use of this operator is preferred over manual implementation of the IObservable<T> interface. In case you need a type implementing IObservable<T> rather than an anonymous implementation, consider using the ObservableBase<T> abstract base class.

    Exceptions
    Type Condition
    ArgumentNullException

    subscribe is null.

    | Improve this Doc View Source

    Create<TResult>(Func<IObserver<TResult>, IDisposable>)

    Creates an observable sequence from a specified Subscribe method implementation.

    Declaration
    public static IObservable<TResult> Create<TResult>(Func<IObserver<TResult>, IDisposable> subscribe)
    Parameters
    Type Name Description
    Func<IObserver<TResult>, IDisposable> subscribe

    Implementation of the resulting observable sequence's Subscribe method.

    Returns
    Type Description
    IObservable<TResult>

    The observable sequence with the specified implementation for the Subscribe method.

    Type Parameters
    Name Description
    TResult

    The type of the elements in the produced sequence.

    Remarks

    Use of this operator is preferred over manual implementation of the IObservable<T> interface. In case you need a type implementing IObservable<T> rather than an anonymous implementation, consider using the ObservableBase<T> abstract base class.

    Exceptions
    Type Condition
    ArgumentNullException

    subscribe is null.

    | Improve this Doc View Source

    Create<TResult>(Func<IObserver<TResult>, CancellationToken, Task<Action>>)

    Creates an observable sequence from a specified cancellable asynchronous Subscribe method. The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation.

    Declaration
    public static IObservable<TResult> Create<TResult>(Func<IObserver<TResult>, CancellationToken, Task<Action>> subscribeAsync)
    Parameters
    Type Name Description
    Func<IObserver<TResult>, CancellationToken, Task<Action>> subscribeAsync

    Asynchronous method used to implemented the resulting sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable.

    Returns
    Type Description
    IObservable<TResult>

    The observable sequence with the specified implementation for the Subscribe method.

    Type Parameters
    Name Description
    TResult

    The type of the elements in the produced sequence.

    Remarks

    This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.

    Exceptions
    Type Condition
    ArgumentNullException

    subscribeAsync is null.

    | Improve this Doc View Source

    Create<TResult>(Func<IObserver<TResult>, CancellationToken, Task<IDisposable>>)

    Creates an observable sequence from a specified cancellable asynchronous Subscribe method. The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation.

    Declaration
    public static IObservable<TResult> Create<TResult>(Func<IObserver<TResult>, CancellationToken, Task<IDisposable>> subscribeAsync)
    Parameters
    Type Name Description
    Func<IObserver<TResult>, CancellationToken, Task<IDisposable>> subscribeAsync

    Asynchronous method used to implemented the resulting sequence's Subscribe method.

    Returns
    Type Description
    IObservable<TResult>

    The observable sequence with the specified implementation for the Subscribe method.

    Type Parameters
    Name Description
    TResult

    The type of the elements in the produced sequence.

    Remarks

    This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.

    Exceptions
    Type Condition
    ArgumentNullException

    subscribeAsync is null.

    | Improve this Doc View Source

    Create<TResult>(Func<IObserver<TResult>, CancellationToken, Task>)

    Creates an observable sequence from a specified cancellable asynchronous Subscribe method. The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation.

    Declaration
    public static IObservable<TResult> Create<TResult>(Func<IObserver<TResult>, CancellationToken, Task> subscribeAsync)
    Parameters
    Type Name Description
    Func<IObserver<TResult>, CancellationToken, Task> subscribeAsync

    Asynchronous method used to produce elements.

    Returns
    Type Description
    IObservable<TResult>

    The observable sequence surfacing the elements produced by the asynchronous method.

    Type Parameters
    Name Description
    TResult

    The type of the elements in the produced sequence.

    Remarks

    This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.

    Exceptions
    Type Condition
    ArgumentNullException

    subscribeAsync is null.

    | Improve this Doc View Source

    Create<TResult>(Func<IObserver<TResult>, Task<Action>>)

    Creates an observable sequence from a specified asynchronous Subscribe method.

    Declaration
    public static IObservable<TResult> Create<TResult>(Func<IObserver<TResult>, Task<Action>> subscribeAsync)
    Parameters
    Type Name Description
    Func<IObserver<TResult>, Task<Action>> subscribeAsync

    Asynchronous method used to implemented the resulting sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable.

    Returns
    Type Description
    IObservable<TResult>

    The observable sequence with the specified implementation for the Subscribe method.

    Type Parameters
    Name Description
    TResult

    The type of the elements in the produced sequence.

    Remarks

    This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.

    Exceptions
    Type Condition
    ArgumentNullException

    subscribeAsync is null.

    | Improve this Doc View Source

    Create<TResult>(Func<IObserver<TResult>, Task<IDisposable>>)

    Creates an observable sequence from a specified asynchronous Subscribe method.

    Declaration
    public static IObservable<TResult> Create<TResult>(Func<IObserver<TResult>, Task<IDisposable>> subscribeAsync)
    Parameters
    Type Name Description
    Func<IObserver<TResult>, Task<IDisposable>> subscribeAsync

    Asynchronous method used to implemented the resulting sequence's Subscribe method.

    Returns
    Type Description
    IObservable<TResult>

    The observable sequence with the specified implementation for the Subscribe method.

    Type Parameters
    Name Description
    TResult

    The type of the elements in the produced sequence.

    Remarks

    This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.

    Exceptions
    Type Condition
    ArgumentNullException

    subscribeAsync is null.

    | Improve this Doc View Source

    Create<TResult>(Func<IObserver<TResult>, Task>)

    Creates an observable sequence from a specified asynchronous Subscribe method.

    Declaration
    public static IObservable<TResult> Create<TResult>(Func<IObserver<TResult>, Task> subscribeAsync)
    Parameters
    Type Name Description
    Func<IObserver<TResult>, Task> subscribeAsync

    Asynchronous method used to produce elements.

    Returns
    Type Description
    IObservable<TResult>

    The observable sequence surfacing the elements produced by the asynchronous method.

    Type Parameters
    Name Description
    TResult

    The type of the elements in the produced sequence.

    Remarks

    This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.

    Exceptions
    Type Condition
    ArgumentNullException

    subscribeAsync is null.

    | Improve this Doc View Source

    DefaultIfEmpty<TSource>(IObservable<TSource>)

    Returns the elements of the specified sequence or the type parameter's default value in a singleton sequence if the sequence is empty.

    Declaration
    public static IObservable<TSource> DefaultIfEmpty<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    The sequence to return a default value for if it is empty.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that contains the default value for the TSource type if the source is empty; otherwise, the elements of the source itself.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence (if any), whose default value will be taken if the sequence is empty.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    DefaultIfEmpty<TSource>(IObservable<TSource>, TSource)

    Returns the elements of the specified sequence or the specified value in a singleton sequence if the sequence is empty.

    Declaration
    public static IObservable<TSource> DefaultIfEmpty<TSource>(this IObservable<TSource> source, TSource defaultValue)
    Parameters
    Type Name Description
    IObservable<TSource> source

    The sequence to return the specified value for if it is empty.

    TSource defaultValue

    The value to return if the sequence is empty.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that contains the specified default value if the source is empty; otherwise, the elements of the source itself.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence (if any), and the specified default value which will be taken if the sequence is empty.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Defer<TResult>(Func<IObservable<TResult>>)

    Returns an observable sequence that invokes the specified factory function whenever a new observer subscribes.

    Declaration
    public static IObservable<TResult> Defer<TResult>(Func<IObservable<TResult>> observableFactory)
    Parameters
    Type Name Description
    Func<IObservable<TResult>> observableFactory

    Observable factory function to invoke for each observer that subscribes to the resulting sequence.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose observers trigger an invocation of the given observable factory function.

    Type Parameters
    Name Description
    TResult

    The type of the elements in the sequence returned by the factory function, and in the resulting sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    observableFactory is null.

    | Improve this Doc View Source

    Defer<TResult>(Func<Task<IObservable<TResult>>>)

    Returns an observable sequence that starts the specified asynchronous factory function whenever a new observer subscribes.

    Declaration
    public static IObservable<TResult> Defer<TResult>(Func<Task<IObservable<TResult>>> observableFactoryAsync)
    Parameters
    Type Name Description
    Func<Task<IObservable<TResult>>> observableFactoryAsync

    Asynchronous factory function to start for each observer that subscribes to the resulting sequence.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose observers trigger the given asynchronous observable factory function to be started.

    Type Parameters
    Name Description
    TResult

    The type of the elements in the sequence returned by the factory function, and in the resulting sequence.

    Remarks

    This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.

    Exceptions
    Type Condition
    ArgumentNullException

    observableFactoryAsync is null.

    | Improve this Doc View Source

    DeferAsync<TResult>(Func<CancellationToken, Task<IObservable<TResult>>>)

    Returns an observable sequence that starts the specified cancellable asynchronous factory function whenever a new observer subscribes. The CancellationToken passed to the asynchronous factory function is tied to the returned disposable subscription, allowing best-effort cancellation.

    Declaration
    public static IObservable<TResult> DeferAsync<TResult>(Func<CancellationToken, Task<IObservable<TResult>>> observableFactoryAsync)
    Parameters
    Type Name Description
    Func<CancellationToken, Task<IObservable<TResult>>> observableFactoryAsync

    Asynchronous factory function to start for each observer that subscribes to the resulting sequence.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose observers trigger the given asynchronous observable factory function to be started.

    Type Parameters
    Name Description
    TResult

    The type of the elements in the sequence returned by the factory function, and in the resulting sequence.

    Remarks

    This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.

    Exceptions
    Type Condition
    ArgumentNullException

    observableFactoryAsync is null.

    | Improve this Doc View Source

    Delay<TSource>(IObservable<TSource>, DateTimeOffset)

    Time shifts the observable sequence to start propagating notifications at the specified absolute time. The relative time intervals between the values are preserved.

    Declaration
    public static IObservable<TSource> Delay<TSource>(this IObservable<TSource> source, DateTimeOffset dueTime)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to delay values for.

    DateTimeOffset dueTime

    Absolute time used to shift the observable sequence; the relative time shift gets computed upon subscription. If this value is less than or equal to DateTimeOffset.UtcNow, the scheduler will dispatch observer callbacks as soon as possible.

    Returns
    Type Description
    IObservable<TSource>

    Time-shifted sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator is less efficient than DelaySubscription<TSource>(IObservable<TSource>, DateTimeOffset) because it records all notifications and time-delays those. This allows for immediate propagation of errors.

    Observer callbacks for the resulting sequence will be run on the default scheduler. This effect is similar to using ObserveOn.

    Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. In order to delay error propagation, consider using the Materialize<TSource>(IObservable<TSource>) and Dematerialize<TSource>(IObservable<Notification<TSource>>) operators, or use DelaySubscription<TSource>(IObservable<TSource>, DateTimeOffset).

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Delay<TSource>(IObservable<TSource>, DateTimeOffset, IScheduler)

    Time shifts the observable sequence to start propagating notifications at the specified absolute time, using the specified scheduler to run timers. The relative time intervals between the values are preserved.

    Declaration
    public static IObservable<TSource> Delay<TSource>(this IObservable<TSource> source, DateTimeOffset dueTime, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to delay values for.

    DateTimeOffset dueTime

    Absolute time used to shift the observable sequence; the relative time shift gets computed upon subscription. If this value is less than or equal to DateTimeOffset.UtcNow, the scheduler will dispatch observer callbacks as soon as possible.

    IScheduler scheduler

    Scheduler to run the delay timers on.

    Returns
    Type Description
    IObservable<TSource>

    Time-shifted sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator is less efficient than DelaySubscription<TSource>(IObservable<TSource>, DateTimeOffset, IScheduler) because it records all notifications and time-delays those. This allows for immediate propagation of errors.

    Observer callbacks for the resulting sequence will be run on the specified scheduler. This effect is similar to using ObserveOn.

    Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. In order to delay error propagation, consider using the Materialize<TSource>(IObservable<TSource>) and Dematerialize<TSource>(IObservable<Notification<TSource>>) operators, or use DelaySubscription<TSource>(IObservable<TSource>, DateTimeOffset, IScheduler).

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    | Improve this Doc View Source

    Delay<TSource>(IObservable<TSource>, TimeSpan)

    Time shifts the observable sequence by the specified relative time duration. The relative time intervals between the values are preserved.

    Declaration
    public static IObservable<TSource> Delay<TSource>(this IObservable<TSource> source, TimeSpan dueTime)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to delay values for.

    TimeSpan dueTime

    Relative time by which to shift the observable sequence. If this value is equal to TimeSpan.Zero, the scheduler will dispatch observer callbacks as soon as possible.

    Returns
    Type Description
    IObservable<TSource>

    Time-shifted sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator is less efficient than DelaySubscription<TSource>(IObservable<TSource>, TimeSpan) because it records all notifications and time-delays those. This allows for immediate propagation of errors.

    Observer callbacks for the resulting sequence will be run on the default scheduler. This effect is similar to using ObserveOn.

    Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. In order to delay error propagation, consider using the Materialize<TSource>(IObservable<TSource>) and Dematerialize<TSource>(IObservable<Notification<TSource>>) operators, or use DelaySubscription<TSource>(IObservable<TSource>, TimeSpan).

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    dueTime is less than TimeSpan.Zero.

    | Improve this Doc View Source

    Delay<TSource>(IObservable<TSource>, TimeSpan, IScheduler)

    Time shifts the observable sequence by the specified relative time duration, using the specified scheduler to run timers. The relative time intervals between the values are preserved.

    Declaration
    public static IObservable<TSource> Delay<TSource>(this IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to delay values for.

    TimeSpan dueTime

    Relative time by which to shift the observable sequence. If this value is equal to TimeSpan.Zero, the scheduler will dispatch observer callbacks as soon as possible.

    IScheduler scheduler

    Scheduler to run the delay timers on.

    Returns
    Type Description
    IObservable<TSource>

    Time-shifted sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator is less efficient than DelaySubscription<TSource>(IObservable<TSource>, TimeSpan, IScheduler) because it records all notifications and time-delays those. This allows for immediate propagation of errors.

    Observer callbacks for the resulting sequence will be run on the specified scheduler. This effect is similar to using ObserveOn.

    Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped.

    Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. In order to delay error propagation, consider using the Materialize<TSource>(IObservable<TSource>) and Dematerialize<TSource>(IObservable<Notification<TSource>>) operators, or use DelaySubscription<TSource>(IObservable<TSource>, TimeSpan, IScheduler).

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    ArgumentOutOfRangeException

    dueTime is less than TimeSpan.Zero.

    | Improve this Doc View Source

    Delay<TSource, TDelay>(IObservable<TSource>, Func<TSource, IObservable<TDelay>>)

    Time shifts the observable sequence based on a delay selector function for each element.

    Declaration
    public static IObservable<TSource> Delay<TSource, TDelay>(this IObservable<TSource> source, Func<TSource, IObservable<TDelay>> delayDurationSelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to delay values for.

    Func<TSource, IObservable<TDelay>> delayDurationSelector

    Selector function to retrieve a sequence indicating the delay for each given element.

    Returns
    Type Description
    IObservable<TSource>

    Time-shifted sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TDelay

    The type of the elements in the delay sequences used to denote the delay duration of each element in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or delayDurationSelector is null.

    | Improve this Doc View Source

    Delay<TSource, TDelay>(IObservable<TSource>, IObservable<TDelay>, Func<TSource, IObservable<TDelay>>)

    Time shifts the observable sequence based on a subscription delay and a delay selector function for each element.

    Declaration
    public static IObservable<TSource> Delay<TSource, TDelay>(this IObservable<TSource> source, IObservable<TDelay> subscriptionDelay, Func<TSource, IObservable<TDelay>> delayDurationSelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to delay values for.

    IObservable<TDelay> subscriptionDelay

    Sequence indicating the delay for the subscription to the source.

    Func<TSource, IObservable<TDelay>> delayDurationSelector

    Selector function to retrieve a sequence indicating the delay for each given element.

    Returns
    Type Description
    IObservable<TSource>

    Time-shifted sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TDelay

    The type of the elements in the delay sequences used to denote the delay duration of each element in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or subscriptionDelay or delayDurationSelector is null.

    | Improve this Doc View Source

    DelaySubscription<TSource>(IObservable<TSource>, DateTimeOffset)

    Time shifts the observable sequence by delaying the subscription to the specified absolute time.

    Declaration
    public static IObservable<TSource> DelaySubscription<TSource>(this IObservable<TSource> source, DateTimeOffset dueTime)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to delay subscription for.

    DateTimeOffset dueTime

    Absolute time to perform the subscription at.

    Returns
    Type Description
    IObservable<TSource>

    Time-shifted sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator is more efficient than Delay<TSource>(IObservable<TSource>, DateTimeOffset) but postpones all side-effects of subscription and affects error propagation timing.

    The side-effects of subscribing to the source sequence will be run on the default scheduler. Observer callbacks will not be affected.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    DelaySubscription<TSource>(IObservable<TSource>, DateTimeOffset, IScheduler)

    Time shifts the observable sequence by delaying the subscription to the specified absolute time, using the specified scheduler to run timers.

    Declaration
    public static IObservable<TSource> DelaySubscription<TSource>(this IObservable<TSource> source, DateTimeOffset dueTime, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to delay subscription for.

    DateTimeOffset dueTime

    Absolute time to perform the subscription at.

    IScheduler scheduler

    Scheduler to run the subscription delay timer on.

    Returns
    Type Description
    IObservable<TSource>

    Time-shifted sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator is more efficient than Delay<TSource>(IObservable<TSource>, DateTimeOffset, IScheduler) but postpones all side-effects of subscription and affects error propagation timing.

    The side-effects of subscribing to the source sequence will be run on the specified scheduler. Observer callbacks will not be affected.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    | Improve this Doc View Source

    DelaySubscription<TSource>(IObservable<TSource>, TimeSpan)

    Time shifts the observable sequence by delaying the subscription with the specified relative time duration.

    Declaration
    public static IObservable<TSource> DelaySubscription<TSource>(this IObservable<TSource> source, TimeSpan dueTime)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to delay subscription for.

    TimeSpan dueTime

    Relative time shift of the subscription.

    Returns
    Type Description
    IObservable<TSource>

    Time-shifted sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator is more efficient than Delay<TSource>(IObservable<TSource>, TimeSpan) but postpones all side-effects of subscription and affects error propagation timing.

    The side-effects of subscribing to the source sequence will be run on the default scheduler. Observer callbacks will not be affected.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    dueTime is less than TimeSpan.Zero.

    | Improve this Doc View Source

    DelaySubscription<TSource>(IObservable<TSource>, TimeSpan, IScheduler)

    Time shifts the observable sequence by delaying the subscription with the specified relative time duration, using the specified scheduler to run timers.

    Declaration
    public static IObservable<TSource> DelaySubscription<TSource>(this IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to delay subscription for.

    TimeSpan dueTime

    Relative time shift of the subscription.

    IScheduler scheduler

    Scheduler to run the subscription delay timer on.

    Returns
    Type Description
    IObservable<TSource>

    Time-shifted sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator is more efficient than Delay<TSource>(IObservable<TSource>, TimeSpan, IScheduler) but postpones all side-effects of subscription and affects error propagation timing.

    The side-effects of subscribing to the source sequence will be run on the specified scheduler. Observer callbacks will not be affected.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    ArgumentOutOfRangeException

    dueTime is less than TimeSpan.Zero.

    | Improve this Doc View Source

    Dematerialize<TSource>(IObservable<Notification<TSource>>)

    Dematerializes the explicit notification values of an observable sequence as implicit notifications.

    Declaration
    public static IObservable<TSource> Dematerialize<TSource>(this IObservable<Notification<TSource>> source)
    Parameters
    Type Name Description
    IObservable<Notification<TSource>> source

    An observable sequence containing explicit notification values which have to be turned into implicit notifications.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence exhibiting the behavior corresponding to the source sequence's notification values.

    Type Parameters
    Name Description
    TSource

    The type of the elements materialized in the source sequence notification objects.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Distinct<TSource>(IObservable<TSource>)

    Returns an observable sequence that contains only distinct elements.

    Declaration
    public static IObservable<TSource> Distinct<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to retain distinct elements for.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence only containing the distinct elements from the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Distinct<TSource>(IObservable<TSource>, IEqualityComparer<TSource>)

    Returns an observable sequence that contains only distinct elements according to the comparer.

    Declaration
    public static IObservable<TSource> Distinct<TSource>(this IObservable<TSource> source, IEqualityComparer<TSource> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to retain distinct elements for.

    IEqualityComparer<TSource> comparer

    Equality comparer for source elements.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence only containing the distinct elements from the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large.

    Exceptions
    Type Condition
    ArgumentNullException

    source or comparer is null.

    | Improve this Doc View Source

    Distinct<TSource, TKey>(IObservable<TSource>, Func<TSource, TKey>)

    Returns an observable sequence that contains only distinct elements according to the keySelector.

    Declaration
    public static IObservable<TSource> Distinct<TSource, TKey>(this IObservable<TSource> source, Func<TSource, TKey> keySelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to retain distinct elements for.

    Func<TSource, TKey> keySelector

    A function to compute the comparison key for each element.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence only containing the distinct elements, based on a computed key value, from the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the discriminator key computed for each element in the source sequence.

    Remarks

    Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector is null.

    | Improve this Doc View Source

    Distinct<TSource, TKey>(IObservable<TSource>, Func<TSource, TKey>, IEqualityComparer<TKey>)

    Returns an observable sequence that contains only distinct elements according to the keySelector and the comparer.

    Declaration
    public static IObservable<TSource> Distinct<TSource, TKey>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to retain distinct elements for.

    Func<TSource, TKey> keySelector

    A function to compute the comparison key for each element.

    IEqualityComparer<TKey> comparer

    Equality comparer for source elements.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence only containing the distinct elements, based on a computed key value, from the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the discriminator key computed for each element in the source sequence.

    Remarks

    Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or comparer is null.

    | Improve this Doc View Source

    DistinctUntilChanged<TSource>(IObservable<TSource>)

    Returns an observable sequence that contains only distinct contiguous elements.

    Declaration
    public static IObservable<TSource> DistinctUntilChanged<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to retain distinct contiguous elements for.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence only containing the distinct contiguous elements from the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    DistinctUntilChanged<TSource>(IObservable<TSource>, IEqualityComparer<TSource>)

    Returns an observable sequence that contains only distinct contiguous elements according to the comparer.

    Declaration
    public static IObservable<TSource> DistinctUntilChanged<TSource>(this IObservable<TSource> source, IEqualityComparer<TSource> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to retain distinct contiguous elements for.

    IEqualityComparer<TSource> comparer

    Equality comparer for source elements.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence only containing the distinct contiguous elements from the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or comparer is null.

    | Improve this Doc View Source

    DistinctUntilChanged<TSource, TKey>(IObservable<TSource>, Func<TSource, TKey>)

    Returns an observable sequence that contains only distinct contiguous elements according to the keySelector.

    Declaration
    public static IObservable<TSource> DistinctUntilChanged<TSource, TKey>(this IObservable<TSource> source, Func<TSource, TKey> keySelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to retain distinct contiguous elements for, based on a computed key value.

    Func<TSource, TKey> keySelector

    A function to compute the comparison key for each element.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the discriminator key computed for each element in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector is null.

    | Improve this Doc View Source

    DistinctUntilChanged<TSource, TKey>(IObservable<TSource>, Func<TSource, TKey>, IEqualityComparer<TKey>)

    Returns an observable sequence that contains only distinct contiguous elements according to the keySelector and the comparer.

    Declaration
    public static IObservable<TSource> DistinctUntilChanged<TSource, TKey>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to retain distinct contiguous elements for, based on a computed key value.

    Func<TSource, TKey> keySelector

    A function to compute the comparison key for each element.

    IEqualityComparer<TKey> comparer

    Equality comparer for computed key values.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the discriminator key computed for each element in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or comparer is null.

    | Improve this Doc View Source

    Do<TSource>(IObservable<TSource>, Action<TSource>)

    Invokes an action for each element in the observable sequence, and propagates all observer messages through the result sequence. This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline.

    Declaration
    public static IObservable<TSource> Do<TSource>(this IObservable<TSource> source, Action<TSource> onNext)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    Action<TSource> onNext

    Action to invoke for each element in the observable sequence.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence with the side-effecting behavior applied.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or onNext is null.

    | Improve this Doc View Source

    Do<TSource>(IObservable<TSource>, Action<TSource>, Action)

    Invokes an action for each element in the observable sequence and invokes an action upon graceful termination of the observable sequence. This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline.

    Declaration
    public static IObservable<TSource> Do<TSource>(this IObservable<TSource> source, Action<TSource> onNext, Action onCompleted)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    Action<TSource> onNext

    Action to invoke for each element in the observable sequence.

    Action onCompleted

    Action to invoke upon graceful termination of the observable sequence.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence with the side-effecting behavior applied.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or onNext or onCompleted is null.

    | Improve this Doc View Source

    Do<TSource>(IObservable<TSource>, Action<TSource>, Action<Exception>)

    Invokes an action for each element in the observable sequence and invokes an action upon exceptional termination of the observable sequence. This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline.

    Declaration
    public static IObservable<TSource> Do<TSource>(this IObservable<TSource> source, Action<TSource> onNext, Action<Exception> onError)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    Action<TSource> onNext

    Action to invoke for each element in the observable sequence.

    Action<Exception> onError

    Action to invoke upon exceptional termination of the observable sequence.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence with the side-effecting behavior applied.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or onNext or onError is null.

    | Improve this Doc View Source

    Do<TSource>(IObservable<TSource>, Action<TSource>, Action<Exception>, Action)

    Invokes an action for each element in the observable sequence and invokes an action upon graceful or exceptional termination of the observable sequence. This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline.

    Declaration
    public static IObservable<TSource> Do<TSource>(this IObservable<TSource> source, Action<TSource> onNext, Action<Exception> onError, Action onCompleted)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    Action<TSource> onNext

    Action to invoke for each element in the observable sequence.

    Action<Exception> onError

    Action to invoke upon exceptional termination of the observable sequence.

    Action onCompleted

    Action to invoke upon graceful termination of the observable sequence.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence with the side-effecting behavior applied.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or onNext or onError or onCompleted is null.

    | Improve this Doc View Source

    Do<TSource>(IObservable<TSource>, IObserver<TSource>)

    Invokes the observer's methods for each message in the source sequence. This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline.

    Declaration
    public static IObservable<TSource> Do<TSource>(this IObservable<TSource> source, IObserver<TSource> observer)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    IObserver<TSource> observer

    Observer whose methods to invoke as part of the source sequence's observation.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence with the side-effecting behavior applied.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or observer is null.

    | Improve this Doc View Source

    DoWhile<TSource>(IObservable<TSource>, Func<Boolean>)

    Repeats the given source as long as the specified condition holds, where the condition is evaluated after each repeated source completed.

    Declaration
    public static IObservable<TSource> DoWhile<TSource>(this IObservable<TSource> source, Func<bool> condition)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source to repeat as long as the condition function evaluates to true.

    Func<Boolean> condition

    Condition that will be evaluated upon the completion of an iteration through the source, to determine whether repetition of the source is required.

    Returns
    Type Description
    IObservable<TSource>

    The observable sequence obtained by concatenating the source sequence as long as the condition holds.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or condition is null.

    | Improve this Doc View Source

    ElementAt<TSource>(IObservable<TSource>, Int32)

    Returns the element at a specified index in a sequence.

    Declaration
    public static IObservable<TSource> ElementAt<TSource>(this IObservable<TSource> source, int index)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Observable sequence to return the element from.

    Int32 index

    The zero-based index of the element to retrieve.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that produces the element at the specified position in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    index is less than zero.

    ArgumentOutOfRangeException

    (Asynchronous) index is greater than or equal to the number of elements in the source sequence.

    | Improve this Doc View Source

    ElementAtOrDefault<TSource>(IObservable<TSource>, Int32)

    Returns the element at a specified index in a sequence or a default value if the index is out of range.

    Declaration
    public static IObservable<TSource> ElementAtOrDefault<TSource>(this IObservable<TSource> source, int index)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Observable sequence to return the element from.

    Int32 index

    The zero-based index of the element to retrieve.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that produces the element at the specified position in the source sequence, or a default value if the index is outside the bounds of the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    index is less than zero.

    | Improve this Doc View Source

    Empty<TResult>()

    Returns an empty observable sequence.

    Declaration
    public static IObservable<TResult> Empty<TResult>()
    Returns
    Type Description
    IObservable<TResult>

    An observable sequence with no elements.

    Type Parameters
    Name Description
    TResult

    The type used for the IObservable<T> type parameter of the resulting sequence.

    | Improve this Doc View Source

    Empty<TResult>(TResult)

    Returns an empty observable sequence.

    Declaration
    public static IObservable<TResult> Empty<TResult>(TResult witness)
    Parameters
    Type Name Description
    TResult witness

    Object solely used to infer the type of the TResult type parameter. This parameter is typically used when creating a sequence of anonymously typed elements.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence with no elements.

    Type Parameters
    Name Description
    TResult

    The type used for the IObservable<T> type parameter of the resulting sequence.

    | Improve this Doc View Source

    Empty<TResult>(IScheduler)

    Returns an empty observable sequence, using the specified scheduler to send out the single OnCompleted message.

    Declaration
    public static IObservable<TResult> Empty<TResult>(IScheduler scheduler)
    Parameters
    Type Name Description
    IScheduler scheduler

    Scheduler to send the termination call on.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence with no elements.

    Type Parameters
    Name Description
    TResult

    The type used for the IObservable<T> type parameter of the resulting sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    scheduler is null.

    | Improve this Doc View Source

    Empty<TResult>(IScheduler, TResult)

    Returns an empty observable sequence, using the specified scheduler to send out the single OnCompleted message.

    Declaration
    public static IObservable<TResult> Empty<TResult>(IScheduler scheduler, TResult witness)
    Parameters
    Type Name Description
    IScheduler scheduler

    Scheduler to send the termination call on.

    TResult witness

    Object solely used to infer the type of the TResult type parameter. This parameter is typically used when creating a sequence of anonymously typed elements.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence with no elements.

    Type Parameters
    Name Description
    TResult

    The type used for the IObservable<T> type parameter of the resulting sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    scheduler is null.

    | Improve this Doc View Source

    Finally<TSource>(IObservable<TSource>, Action)

    Invokes a specified action after the source observable sequence terminates gracefully or exceptionally.

    Declaration
    public static IObservable<TSource> Finally<TSource>(this IObservable<TSource> source, Action finallyAction)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    Action finallyAction

    Action to invoke after the source observable sequence terminates.

    Returns
    Type Description
    IObservable<TSource>

    Source sequence with the action-invoking termination behavior applied.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or finallyAction is null.

    | Improve this Doc View Source

    First<TSource>(IObservable<TSource>)

    Returns the first element of an observable sequence.

    Declaration
    public static TSource First<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Returns
    Type Description
    TSource

    The first element in the observable sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    InvalidOperationException

    The source sequence is empty.

    See Also
    FirstAsync<TSource>(IObservable<TSource>)
    | Improve this Doc View Source

    First<TSource>(IObservable<TSource>, Func<TSource, Boolean>)

    Returns the first element of an observable sequence that satisfies the condition in the predicate.

    Declaration
    public static TSource First<TSource>(this IObservable<TSource> source, Func<TSource, bool> predicate)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Func<TSource, Boolean> predicate

    A predicate function to evaluate for elements in the source sequence.

    Returns
    Type Description
    TSource

    The first element in the observable sequence that satisfies the condition in the predicate.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or predicate is null.

    InvalidOperationException

    No element satisfies the condition in the predicate. -or- The source sequence is empty.

    See Also
    FirstAsync<TSource>(IObservable<TSource>, Func<TSource, Boolean>)
    | Improve this Doc View Source

    FirstAsync<TSource>(IObservable<TSource>)

    Returns the first element of an observable sequence.

    Declaration
    public static IObservable<TSource> FirstAsync<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Returns
    Type Description
    IObservable<TSource>

    Sequence containing the first element in the observable sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    InvalidOperationException

    (Asynchronous) The source sequence is empty.

    | Improve this Doc View Source

    FirstAsync<TSource>(IObservable<TSource>, Func<TSource, Boolean>)

    Returns the first element of an observable sequence that satisfies the condition in the predicate.

    Declaration
    public static IObservable<TSource> FirstAsync<TSource>(this IObservable<TSource> source, Func<TSource, bool> predicate)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Func<TSource, Boolean> predicate

    A predicate function to evaluate for elements in the source sequence.

    Returns
    Type Description
    IObservable<TSource>

    Sequence containing the first element in the observable sequence that satisfies the condition in the predicate.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or predicate is null.

    InvalidOperationException

    (Asynchronous) No element satisfies the condition in the predicate. -or- The source sequence is empty.

    | Improve this Doc View Source

    FirstOrDefault<TSource>(IObservable<TSource>)

    Returns the first element of an observable sequence, or a default value if no such element exists.

    Declaration
    public static TSource FirstOrDefault<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Returns
    Type Description
    TSource

    The first element in the observable sequence, or a default value if no such element exists.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    See Also
    FirstOrDefaultAsync<TSource>(IObservable<TSource>)
    | Improve this Doc View Source

    FirstOrDefault<TSource>(IObservable<TSource>, Func<TSource, Boolean>)

    Returns the first element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists.

    Declaration
    public static TSource FirstOrDefault<TSource>(this IObservable<TSource> source, Func<TSource, bool> predicate)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Func<TSource, Boolean> predicate

    A predicate function to evaluate for elements in the source sequence.

    Returns
    Type Description
    TSource

    The first element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or predicate is null.

    See Also
    FirstOrDefaultAsync<TSource>(IObservable<TSource>, Func<TSource, Boolean>)
    | Improve this Doc View Source

    FirstOrDefaultAsync<TSource>(IObservable<TSource>)

    Returns the first element of an observable sequence, or a default value if no such element exists.

    Declaration
    public static IObservable<TSource> FirstOrDefaultAsync<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Returns
    Type Description
    IObservable<TSource>

    Sequence containing the first element in the observable sequence, or a default value if no such element exists.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    FirstOrDefaultAsync<TSource>(IObservable<TSource>, Func<TSource, Boolean>)

    Returns the first element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists.

    Declaration
    public static IObservable<TSource> FirstOrDefaultAsync<TSource>(this IObservable<TSource> source, Func<TSource, bool> predicate)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Func<TSource, Boolean> predicate

    A predicate function to evaluate for elements in the source sequence.

    Returns
    Type Description
    IObservable<TSource>

    Sequence containing the first element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or predicate is null.

    | Improve this Doc View Source

    For<TSource, TResult>(IEnumerable<TSource>, Func<TSource, IObservable<TResult>>)

    Concatenates the observable sequences obtained by running the resultSelector for each element in the given enumerable source.

    Declaration
    public static IObservable<TResult> For<TSource, TResult>(IEnumerable<TSource> source, Func<TSource, IObservable<TResult>> resultSelector)
    Parameters
    Type Name Description
    IEnumerable<TSource> source

    Enumerable source for which each element will be mapped onto an observable source that will be concatenated in the result sequence.

    Func<TSource, IObservable<TResult>> resultSelector

    Function to select an observable source for each element in the source.

    Returns
    Type Description
    IObservable<TResult>

    The observable sequence obtained by concatenating the sources returned by resultSelector for each element in the source.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the enumerable source sequence.

    TResult

    The type of the elements in the observable result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or resultSelector is null.

    | Improve this Doc View Source

    ForEach<TSource>(IObservable<TSource>, Action<TSource, Int32>)

    Invokes an action for each element in the observable sequence, incorporating the element's index, and blocks until the sequence is terminated.

    Declaration
    public static void ForEach<TSource>(this IObservable<TSource> source, Action<TSource, int> onNext)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    Action<TSource, Int32> onNext

    Action to invoke for each element in the observable sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    Because of its blocking nature, this operator is mainly used for testing.

    Exceptions
    Type Condition
    ArgumentNullException

    source or onNext is null.

    | Improve this Doc View Source

    ForEach<TSource>(IObservable<TSource>, Action<TSource>)

    Invokes an action for each element in the observable sequence, and blocks until the sequence is terminated.

    Declaration
    public static void ForEach<TSource>(this IObservable<TSource> source, Action<TSource> onNext)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    Action<TSource> onNext

    Action to invoke for each element in the observable sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    Because of its blocking nature, this operator is mainly used for testing.

    Exceptions
    Type Condition
    ArgumentNullException

    source or onNext is null.

    | Improve this Doc View Source

    ForEachAsync<TSource>(IObservable<TSource>, Action<TSource, Int32>)

    Invokes an action for each element in the observable sequence, incorporating the element's index, and returns a Task object that will get signaled when the sequence terminates.

    Declaration
    public static Task ForEachAsync<TSource>(this IObservable<TSource> source, Action<TSource, int> onNext)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    Action<TSource, Int32> onNext

    Action to invoke for each element in the observable sequence.

    Returns
    Type Description
    Task

    Task that signals the termination of the sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.

    Exceptions
    Type Condition
    ArgumentNullException

    source or onNext is null.

    | Improve this Doc View Source

    ForEachAsync<TSource>(IObservable<TSource>, Action<TSource, Int32>, CancellationToken)

    Invokes an action for each element in the observable sequence, incorporating the element's index, and returns a Task object that will get signaled when the sequence terminates. The loop can be quit prematurely by setting the specified cancellation token.

    Declaration
    public static Task ForEachAsync<TSource>(this IObservable<TSource> source, Action<TSource, int> onNext, CancellationToken cancellationToken)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    Action<TSource, Int32> onNext

    Action to invoke for each element in the observable sequence.

    CancellationToken cancellationToken

    Cancellation token used to stop the loop.

    Returns
    Type Description
    Task

    Task that signals the termination of the sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.

    Exceptions
    Type Condition
    ArgumentNullException

    source or onNext is null.

    | Improve this Doc View Source

    ForEachAsync<TSource>(IObservable<TSource>, Action<TSource>)

    Invokes an action for each element in the observable sequence, and returns a Task object that will get signaled when the sequence terminates.

    Declaration
    public static Task ForEachAsync<TSource>(this IObservable<TSource> source, Action<TSource> onNext)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    Action<TSource> onNext

    Action to invoke for each element in the observable sequence.

    Returns
    Type Description
    Task

    Task that signals the termination of the sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.

    Exceptions
    Type Condition
    ArgumentNullException

    source or onNext is null.

    | Improve this Doc View Source

    ForEachAsync<TSource>(IObservable<TSource>, Action<TSource>, CancellationToken)

    Invokes an action for each element in the observable sequence, and returns a Task object that will get signaled when the sequence terminates. The loop can be quit prematurely by setting the specified cancellation token.

    Declaration
    public static Task ForEachAsync<TSource>(this IObservable<TSource> source, Action<TSource> onNext, CancellationToken cancellationToken)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    Action<TSource> onNext

    Action to invoke for each element in the observable sequence.

    CancellationToken cancellationToken

    Cancellation token used to stop the loop.

    Returns
    Type Description
    Task

    Task that signals the termination of the sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.

    Exceptions
    Type Condition
    ArgumentNullException

    source or onNext is null.

    | Improve this Doc View Source

    FromAsync(Func<CancellationToken, Task>)

    Converts to asynchronous action into an observable sequence. Each subscription to the resulting sequence causes the action to be started. The CancellationToken passed to the asynchronous action is tied to the observable sequence's subscription that triggered the action's invocation and can be used for best-effort cancellation.

    Declaration
    public static IObservable<Unit> FromAsync(Func<CancellationToken, Task> actionAsync)
    Parameters
    Type Name Description
    Func<CancellationToken, Task> actionAsync

    Asynchronous action to convert.

    Returns
    Type Description
    IObservable<Unit>

    An observable sequence exposing a Unit value upon completion of the action, or an exception.

    Remarks

    When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous function will be signaled.

    Exceptions
    Type Condition
    ArgumentNullException

    actionAsync is null.

    | Improve this Doc View Source

    FromAsync(Func<Task>)

    Converts to asynchronous action into an observable sequence. Each subscription to the resulting sequence causes the action to be started.

    Declaration
    public static IObservable<Unit> FromAsync(Func<Task> actionAsync)
    Parameters
    Type Name Description
    Func<Task> actionAsync

    Asynchronous action to convert.

    Returns
    Type Description
    IObservable<Unit>

    An observable sequence exposing a Unit value upon completion of the action, or an exception.

    Exceptions
    Type Condition
    ArgumentNullException

    actionAsync is null.

    | Improve this Doc View Source

    FromAsync<TResult>(Func<CancellationToken, Task<TResult>>)

    Converts to asynchronous function into an observable sequence. Each subscription to the resulting sequence causes the function to be started. The CancellationToken passed to the asynchronous function is tied to the observable sequence's subscription that triggered the function's invocation and can be used for best-effort cancellation.

    Declaration
    public static IObservable<TResult> FromAsync<TResult>(Func<CancellationToken, Task<TResult>> functionAsync)
    Parameters
    Type Name Description
    Func<CancellationToken, Task<TResult>> functionAsync

    Asynchronous function to convert.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence exposing the result of invoking the function, or an exception.

    Type Parameters
    Name Description
    TResult

    The type of the result returned by the asynchronous function.

    Remarks

    When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous function will be signaled.

    Exceptions
    Type Condition
    ArgumentNullException

    functionAsync is null.

    | Improve this Doc View Source

    FromAsync<TResult>(Func<Task<TResult>>)

    Converts to asynchronous function into an observable sequence. Each subscription to the resulting sequence causes the function to be started.

    Declaration
    public static IObservable<TResult> FromAsync<TResult>(Func<Task<TResult>> functionAsync)
    Parameters
    Type Name Description
    Func<Task<TResult>> functionAsync

    Asynchronous function to convert.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence exposing the result of invoking the function, or an exception.

    Type Parameters
    Name Description
    TResult

    The type of the result returned by the asynchronous function.

    Exceptions
    Type Condition
    ArgumentNullException

    functionAsync is null.

    | Improve this Doc View Source

    FromAsyncPattern(Func<AsyncCallback, Object, IAsyncResult>, Action<IAsyncResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<IObservable<Unit>> FromAsyncPattern(Func<AsyncCallback, object, IAsyncResult> begin, Action<IAsyncResult> end)
    Parameters
    Type Name Description
    Func<AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Action<IAsyncResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<IObservable<Unit>>

    Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1>(Func<TArg1, AsyncCallback, Object, IAsyncResult>, Action<IAsyncResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, IObservable<Unit>> FromAsyncPattern<TArg1>(Func<TArg1, AsyncCallback, object, IAsyncResult> begin, Action<IAsyncResult> end)
    Parameters
    Type Name Description
    Func<TArg1, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Action<IAsyncResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, IObservable<Unit>>

    Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TResult>(Func<AsyncCallback, Object, IAsyncResult>, Func<IAsyncResult, TResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<IObservable<TResult>> FromAsyncPattern<TResult>(Func<AsyncCallback, object, IAsyncResult> begin, Func<IAsyncResult, TResult> end)
    Parameters
    Type Name Description
    Func<AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Func<IAsyncResult, TResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<IObservable<TResult>>

    Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.

    Type Parameters
    Name Description
    TResult

    The type of the result returned by the end delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, AsyncCallback, Object, IAsyncResult>, Action<IAsyncResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, IObservable<Unit>> FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, AsyncCallback, object, IAsyncResult> begin, Action<IAsyncResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Action<IAsyncResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, IObservable<Unit>>

    Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    TArg4

    The type of the fourth argument passed to the begin delegate.

    TArg5

    The type of the fifth argument passed to the begin delegate.

    TArg6

    The type of the sixth argument passed to the begin delegate.

    TArg7

    The type of the seventh argument passed to the begin delegate.

    TArg8

    The type of the eighth argument passed to the begin delegate.

    TArg9

    The type of the ninth argument passed to the begin delegate.

    TArg10

    The type of the tenth argument passed to the begin delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, AsyncCallback, Object, IAsyncResult>, Func<IAsyncResult, TResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, IObservable<TResult>> FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, AsyncCallback, object, IAsyncResult> begin, Func<IAsyncResult, TResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Func<IAsyncResult, TResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, IObservable<TResult>>

    Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    TArg4

    The type of the fourth argument passed to the begin delegate.

    TArg5

    The type of the fifth argument passed to the begin delegate.

    TArg6

    The type of the sixth argument passed to the begin delegate.

    TArg7

    The type of the seventh argument passed to the begin delegate.

    TArg8

    The type of the eighth argument passed to the begin delegate.

    TArg9

    The type of the ninth argument passed to the begin delegate.

    TResult

    The type of the result returned by the end delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, AsyncCallback, Object, IAsyncResult>, Action<IAsyncResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, IObservable<Unit>> FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, AsyncCallback, object, IAsyncResult> begin, Action<IAsyncResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Action<IAsyncResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, IObservable<Unit>>

    Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    TArg4

    The type of the fourth argument passed to the begin delegate.

    TArg5

    The type of the fifth argument passed to the begin delegate.

    TArg6

    The type of the sixth argument passed to the begin delegate.

    TArg7

    The type of the seventh argument passed to the begin delegate.

    TArg8

    The type of the eighth argument passed to the begin delegate.

    TArg9

    The type of the ninth argument passed to the begin delegate.

    TArg10

    The type of the tenth argument passed to the begin delegate.

    TArg11

    The type of the eleventh argument passed to the begin delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, AsyncCallback, Object, IAsyncResult>, Func<IAsyncResult, TResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, IObservable<TResult>> FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, AsyncCallback, object, IAsyncResult> begin, Func<IAsyncResult, TResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Func<IAsyncResult, TResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, IObservable<TResult>>

    Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    TArg4

    The type of the fourth argument passed to the begin delegate.

    TArg5

    The type of the fifth argument passed to the begin delegate.

    TArg6

    The type of the sixth argument passed to the begin delegate.

    TArg7

    The type of the seventh argument passed to the begin delegate.

    TArg8

    The type of the eighth argument passed to the begin delegate.

    TArg9

    The type of the ninth argument passed to the begin delegate.

    TArg10

    The type of the tenth argument passed to the begin delegate.

    TResult

    The type of the result returned by the end delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, AsyncCallback, Object, IAsyncResult>, Action<IAsyncResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, IObservable<Unit>> FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, AsyncCallback, object, IAsyncResult> begin, Action<IAsyncResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Action<IAsyncResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, IObservable<Unit>>

    Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    TArg4

    The type of the fourth argument passed to the begin delegate.

    TArg5

    The type of the fifth argument passed to the begin delegate.

    TArg6

    The type of the sixth argument passed to the begin delegate.

    TArg7

    The type of the seventh argument passed to the begin delegate.

    TArg8

    The type of the eighth argument passed to the begin delegate.

    TArg9

    The type of the ninth argument passed to the begin delegate.

    TArg10

    The type of the tenth argument passed to the begin delegate.

    TArg11

    The type of the eleventh argument passed to the begin delegate.

    TArg12

    The type of the twelfth argument passed to the begin delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, AsyncCallback, Object, IAsyncResult>, Func<IAsyncResult, TResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, IObservable<TResult>> FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, AsyncCallback, object, IAsyncResult> begin, Func<IAsyncResult, TResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Func<IAsyncResult, TResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, IObservable<TResult>>

    Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    TArg4

    The type of the fourth argument passed to the begin delegate.

    TArg5

    The type of the fifth argument passed to the begin delegate.

    TArg6

    The type of the sixth argument passed to the begin delegate.

    TArg7

    The type of the seventh argument passed to the begin delegate.

    TArg8

    The type of the eighth argument passed to the begin delegate.

    TArg9

    The type of the ninth argument passed to the begin delegate.

    TArg10

    The type of the tenth argument passed to the begin delegate.

    TArg11

    The type of the eleventh argument passed to the begin delegate.

    TResult

    The type of the result returned by the end delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, AsyncCallback, Object, IAsyncResult>, Action<IAsyncResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, IObservable<Unit>> FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, AsyncCallback, object, IAsyncResult> begin, Action<IAsyncResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Action<IAsyncResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, IObservable<Unit>>

    Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    TArg4

    The type of the fourth argument passed to the begin delegate.

    TArg5

    The type of the fifth argument passed to the begin delegate.

    TArg6

    The type of the sixth argument passed to the begin delegate.

    TArg7

    The type of the seventh argument passed to the begin delegate.

    TArg8

    The type of the eighth argument passed to the begin delegate.

    TArg9

    The type of the ninth argument passed to the begin delegate.

    TArg10

    The type of the tenth argument passed to the begin delegate.

    TArg11

    The type of the eleventh argument passed to the begin delegate.

    TArg12

    The type of the twelfth argument passed to the begin delegate.

    TArg13

    The type of the thirteenth argument passed to the begin delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, AsyncCallback, Object, IAsyncResult>, Func<IAsyncResult, TResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, IObservable<TResult>> FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, AsyncCallback, object, IAsyncResult> begin, Func<IAsyncResult, TResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Func<IAsyncResult, TResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, IObservable<TResult>>

    Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    TArg4

    The type of the fourth argument passed to the begin delegate.

    TArg5

    The type of the fifth argument passed to the begin delegate.

    TArg6

    The type of the sixth argument passed to the begin delegate.

    TArg7

    The type of the seventh argument passed to the begin delegate.

    TArg8

    The type of the eighth argument passed to the begin delegate.

    TArg9

    The type of the ninth argument passed to the begin delegate.

    TArg10

    The type of the tenth argument passed to the begin delegate.

    TArg11

    The type of the eleventh argument passed to the begin delegate.

    TArg12

    The type of the twelfth argument passed to the begin delegate.

    TResult

    The type of the result returned by the end delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, AsyncCallback, Object, IAsyncResult>, Action<IAsyncResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, IObservable<Unit>> FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, AsyncCallback, object, IAsyncResult> begin, Action<IAsyncResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Action<IAsyncResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, IObservable<Unit>>

    Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    TArg4

    The type of the fourth argument passed to the begin delegate.

    TArg5

    The type of the fifth argument passed to the begin delegate.

    TArg6

    The type of the sixth argument passed to the begin delegate.

    TArg7

    The type of the seventh argument passed to the begin delegate.

    TArg8

    The type of the eighth argument passed to the begin delegate.

    TArg9

    The type of the ninth argument passed to the begin delegate.

    TArg10

    The type of the tenth argument passed to the begin delegate.

    TArg11

    The type of the eleventh argument passed to the begin delegate.

    TArg12

    The type of the twelfth argument passed to the begin delegate.

    TArg13

    The type of the thirteenth argument passed to the begin delegate.

    TArg14

    The type of the fourteenth argument passed to the begin delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, AsyncCallback, Object, IAsyncResult>, Func<IAsyncResult, TResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, IObservable<TResult>> FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, AsyncCallback, object, IAsyncResult> begin, Func<IAsyncResult, TResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Func<IAsyncResult, TResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, IObservable<TResult>>

    Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    TArg4

    The type of the fourth argument passed to the begin delegate.

    TArg5

    The type of the fifth argument passed to the begin delegate.

    TArg6

    The type of the sixth argument passed to the begin delegate.

    TArg7

    The type of the seventh argument passed to the begin delegate.

    TArg8

    The type of the eighth argument passed to the begin delegate.

    TArg9

    The type of the ninth argument passed to the begin delegate.

    TArg10

    The type of the tenth argument passed to the begin delegate.

    TArg11

    The type of the eleventh argument passed to the begin delegate.

    TArg12

    The type of the twelfth argument passed to the begin delegate.

    TArg13

    The type of the thirteenth argument passed to the begin delegate.

    TResult

    The type of the result returned by the end delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, AsyncCallback, Object, IAsyncResult>, Func<IAsyncResult, TResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, IObservable<TResult>> FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, AsyncCallback, object, IAsyncResult> begin, Func<IAsyncResult, TResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Func<IAsyncResult, TResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, IObservable<TResult>>

    Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    TArg4

    The type of the fourth argument passed to the begin delegate.

    TArg5

    The type of the fifth argument passed to the begin delegate.

    TArg6

    The type of the sixth argument passed to the begin delegate.

    TArg7

    The type of the seventh argument passed to the begin delegate.

    TArg8

    The type of the eighth argument passed to the begin delegate.

    TArg9

    The type of the ninth argument passed to the begin delegate.

    TArg10

    The type of the tenth argument passed to the begin delegate.

    TArg11

    The type of the eleventh argument passed to the begin delegate.

    TArg12

    The type of the twelfth argument passed to the begin delegate.

    TArg13

    The type of the thirteenth argument passed to the begin delegate.

    TArg14

    The type of the fourteenth argument passed to the begin delegate.

    TResult

    The type of the result returned by the end delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2>(Func<TArg1, TArg2, AsyncCallback, Object, IAsyncResult>, Action<IAsyncResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, IObservable<Unit>> FromAsyncPattern<TArg1, TArg2>(Func<TArg1, TArg2, AsyncCallback, object, IAsyncResult> begin, Action<IAsyncResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Action<IAsyncResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, IObservable<Unit>>

    Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TResult>(Func<TArg1, AsyncCallback, Object, IAsyncResult>, Func<IAsyncResult, TResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, IObservable<TResult>> FromAsyncPattern<TArg1, TResult>(Func<TArg1, AsyncCallback, object, IAsyncResult> begin, Func<IAsyncResult, TResult> end)
    Parameters
    Type Name Description
    Func<TArg1, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Func<IAsyncResult, TResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, IObservable<TResult>>

    Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TResult

    The type of the result returned by the end delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3>(Func<TArg1, TArg2, TArg3, AsyncCallback, Object, IAsyncResult>, Action<IAsyncResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, IObservable<Unit>> FromAsyncPattern<TArg1, TArg2, TArg3>(Func<TArg1, TArg2, TArg3, AsyncCallback, object, IAsyncResult> begin, Action<IAsyncResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Action<IAsyncResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, IObservable<Unit>>

    Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TResult>(Func<TArg1, TArg2, AsyncCallback, Object, IAsyncResult>, Func<IAsyncResult, TResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, IObservable<TResult>> FromAsyncPattern<TArg1, TArg2, TResult>(Func<TArg1, TArg2, AsyncCallback, object, IAsyncResult> begin, Func<IAsyncResult, TResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Func<IAsyncResult, TResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, IObservable<TResult>>

    Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TResult

    The type of the result returned by the end delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3, TArg4>(Func<TArg1, TArg2, TArg3, TArg4, AsyncCallback, Object, IAsyncResult>, Action<IAsyncResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, IObservable<Unit>> FromAsyncPattern<TArg1, TArg2, TArg3, TArg4>(Func<TArg1, TArg2, TArg3, TArg4, AsyncCallback, object, IAsyncResult> begin, Action<IAsyncResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Action<IAsyncResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, IObservable<Unit>>

    Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    TArg4

    The type of the fourth argument passed to the begin delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3, TResult>(Func<TArg1, TArg2, TArg3, AsyncCallback, Object, IAsyncResult>, Func<IAsyncResult, TResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, IObservable<TResult>> FromAsyncPattern<TArg1, TArg2, TArg3, TResult>(Func<TArg1, TArg2, TArg3, AsyncCallback, object, IAsyncResult> begin, Func<IAsyncResult, TResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Func<IAsyncResult, TResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, IObservable<TResult>>

    Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    TResult

    The type of the result returned by the end delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, AsyncCallback, Object, IAsyncResult>, Action<IAsyncResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, IObservable<Unit>> FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, AsyncCallback, object, IAsyncResult> begin, Action<IAsyncResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Action<IAsyncResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, IObservable<Unit>>

    Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    TArg4

    The type of the fourth argument passed to the begin delegate.

    TArg5

    The type of the fifth argument passed to the begin delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TResult>(Func<TArg1, TArg2, TArg3, TArg4, AsyncCallback, Object, IAsyncResult>, Func<IAsyncResult, TResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, IObservable<TResult>> FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TResult>(Func<TArg1, TArg2, TArg3, TArg4, AsyncCallback, object, IAsyncResult> begin, Func<IAsyncResult, TResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Func<IAsyncResult, TResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, IObservable<TResult>>

    Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    TArg4

    The type of the fourth argument passed to the begin delegate.

    TResult

    The type of the result returned by the end delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, AsyncCallback, Object, IAsyncResult>, Action<IAsyncResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, IObservable<Unit>> FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, AsyncCallback, object, IAsyncResult> begin, Action<IAsyncResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Action<IAsyncResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, IObservable<Unit>>

    Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    TArg4

    The type of the fourth argument passed to the begin delegate.

    TArg5

    The type of the fifth argument passed to the begin delegate.

    TArg6

    The type of the sixth argument passed to the begin delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, AsyncCallback, Object, IAsyncResult>, Func<IAsyncResult, TResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, IObservable<TResult>> FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, AsyncCallback, object, IAsyncResult> begin, Func<IAsyncResult, TResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Func<IAsyncResult, TResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, IObservable<TResult>>

    Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    TArg4

    The type of the fourth argument passed to the begin delegate.

    TArg5

    The type of the fifth argument passed to the begin delegate.

    TResult

    The type of the result returned by the end delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, AsyncCallback, Object, IAsyncResult>, Action<IAsyncResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, IObservable<Unit>> FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, AsyncCallback, object, IAsyncResult> begin, Action<IAsyncResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Action<IAsyncResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, IObservable<Unit>>

    Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    TArg4

    The type of the fourth argument passed to the begin delegate.

    TArg5

    The type of the fifth argument passed to the begin delegate.

    TArg6

    The type of the sixth argument passed to the begin delegate.

    TArg7

    The type of the seventh argument passed to the begin delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, AsyncCallback, Object, IAsyncResult>, Func<IAsyncResult, TResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, IObservable<TResult>> FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, AsyncCallback, object, IAsyncResult> begin, Func<IAsyncResult, TResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Func<IAsyncResult, TResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, IObservable<TResult>>

    Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    TArg4

    The type of the fourth argument passed to the begin delegate.

    TArg5

    The type of the fifth argument passed to the begin delegate.

    TArg6

    The type of the sixth argument passed to the begin delegate.

    TResult

    The type of the result returned by the end delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, AsyncCallback, Object, IAsyncResult>, Action<IAsyncResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, IObservable<Unit>> FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, AsyncCallback, object, IAsyncResult> begin, Action<IAsyncResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Action<IAsyncResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, IObservable<Unit>>

    Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    TArg4

    The type of the fourth argument passed to the begin delegate.

    TArg5

    The type of the fifth argument passed to the begin delegate.

    TArg6

    The type of the sixth argument passed to the begin delegate.

    TArg7

    The type of the seventh argument passed to the begin delegate.

    TArg8

    The type of the eighth argument passed to the begin delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, AsyncCallback, Object, IAsyncResult>, Func<IAsyncResult, TResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, IObservable<TResult>> FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, AsyncCallback, object, IAsyncResult> begin, Func<IAsyncResult, TResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Func<IAsyncResult, TResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, IObservable<TResult>>

    Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    TArg4

    The type of the fourth argument passed to the begin delegate.

    TArg5

    The type of the fifth argument passed to the begin delegate.

    TArg6

    The type of the sixth argument passed to the begin delegate.

    TArg7

    The type of the seventh argument passed to the begin delegate.

    TResult

    The type of the result returned by the end delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, AsyncCallback, Object, IAsyncResult>, Action<IAsyncResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, IObservable<Unit>> FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, AsyncCallback, object, IAsyncResult> begin, Action<IAsyncResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Action<IAsyncResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, IObservable<Unit>>

    Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    TArg4

    The type of the fourth argument passed to the begin delegate.

    TArg5

    The type of the fifth argument passed to the begin delegate.

    TArg6

    The type of the sixth argument passed to the begin delegate.

    TArg7

    The type of the seventh argument passed to the begin delegate.

    TArg8

    The type of the eighth argument passed to the begin delegate.

    TArg9

    The type of the ninth argument passed to the begin delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, AsyncCallback, Object, IAsyncResult>, Func<IAsyncResult, TResult>)

    Converts a Begin/End invoke function pair into an asynchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, IObservable<TResult>> FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, AsyncCallback, object, IAsyncResult> begin, Func<IAsyncResult, TResult> end)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, AsyncCallback, Object, IAsyncResult> begin

    The delegate that begins the asynchronous operation.

    Func<IAsyncResult, TResult> end

    The delegate that ends the asynchronous operation.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, IObservable<TResult>>

    Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the begin delegate.

    TArg2

    The type of the second argument passed to the begin delegate.

    TArg3

    The type of the third argument passed to the begin delegate.

    TArg4

    The type of the fourth argument passed to the begin delegate.

    TArg5

    The type of the fifth argument passed to the begin delegate.

    TArg6

    The type of the sixth argument passed to the begin delegate.

    TArg7

    The type of the seventh argument passed to the begin delegate.

    TArg8

    The type of the eighth argument passed to the begin delegate.

    TResult

    The type of the result returned by the end delegate.

    Remarks

    Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.

    Exceptions
    Type Condition
    ArgumentNullException

    begin or end is null.

    | Improve this Doc View Source

    FromEvent(Action<Action>, Action<Action>)

    Converts an Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead.

    Declaration
    public static IObservable<Unit> FromEvent(Action<Action> addHandler, Action<Action> removeHandler)
    Parameters
    Type Name Description
    Action<Action> addHandler

    Action that attaches the given event handler to the underlying .NET event.

    Action<Action> removeHandler

    Action that detaches the given event handler from the underlying .NET event.

    Returns
    Type Description
    IObservable<Unit>

    The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    The current SynchronizationContext is captured during the call to FromEvent, and is used to post add and remove handler invocations. This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.

    If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread making the Subscribe or Dispose call, respectively.

    It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand.

    Exceptions
    Type Condition
    ArgumentNullException

    addHandler or removeHandler is null.

    See Also
    ToEvent(IObservable<Unit>)
    | Improve this Doc View Source

    FromEvent(Action<Action>, Action<Action>, IScheduler)

    Converts an Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead.

    Declaration
    public static IObservable<Unit> FromEvent(Action<Action> addHandler, Action<Action> removeHandler, IScheduler scheduler)
    Parameters
    Type Name Description
    Action<Action> addHandler

    Action that attaches the given event handler to the underlying .NET event.

    Action<Action> removeHandler

    Action that detaches the given event handler from the underlying .NET event.

    IScheduler scheduler

    The scheduler to run the add and remove event handler logic on.

    Returns
    Type Description
    IObservable<Unit>

    The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be accessed from the same context, as required by some UI frameworks.

    It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler parameter. For more information, see the remarks section on those overloads.

    Exceptions
    Type Condition
    ArgumentNullException

    addHandler or removeHandler or scheduler is null.

    See Also
    ToEvent(IObservable<Unit>)
    | Improve this Doc View Source

    FromEvent<TEventArgs>(Action<Action<TEventArgs>>, Action<Action<TEventArgs>>)

    Converts a generic Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead.

    Declaration
    public static IObservable<TEventArgs> FromEvent<TEventArgs>(Action<Action<TEventArgs>> addHandler, Action<Action<TEventArgs>> removeHandler)
    Parameters
    Type Name Description
    Action<Action<TEventArgs>> addHandler

    Action that attaches the given event handler to the underlying .NET event.

    Action<Action<TEventArgs>> removeHandler

    Action that detaches the given event handler from the underlying .NET event.

    Returns
    Type Description
    IObservable<TEventArgs>

    The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event.

    Type Parameters
    Name Description
    TEventArgs

    The type of the event data generated by the event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    The current SynchronizationContext is captured during the call to FromEvent, and is used to post add and remove handler invocations. This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.

    If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread making the Subscribe or Dispose call, respectively.

    It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand.

    Exceptions
    Type Condition
    ArgumentNullException

    addHandler or removeHandler is null.

    See Also
    ToEvent(IObservable<Unit>)
    | Improve this Doc View Source

    FromEvent<TEventArgs>(Action<Action<TEventArgs>>, Action<Action<TEventArgs>>, IScheduler)

    Converts a generic Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead.

    Declaration
    public static IObservable<TEventArgs> FromEvent<TEventArgs>(Action<Action<TEventArgs>> addHandler, Action<Action<TEventArgs>> removeHandler, IScheduler scheduler)
    Parameters
    Type Name Description
    Action<Action<TEventArgs>> addHandler

    Action that attaches the given event handler to the underlying .NET event.

    Action<Action<TEventArgs>> removeHandler

    Action that detaches the given event handler from the underlying .NET event.

    IScheduler scheduler

    The scheduler to run the add and remove event handler logic on.

    Returns
    Type Description
    IObservable<TEventArgs>

    The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event.

    Type Parameters
    Name Description
    TEventArgs

    The type of the event data generated by the event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be accessed from the same context, as required by some UI frameworks.

    It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler parameter. For more information, see the remarks section on those overloads.

    Exceptions
    Type Condition
    ArgumentNullException

    addHandler or removeHandler or scheduler is null.

    See Also
    ToEvent(IObservable<Unit>)
    | Improve this Doc View Source

    FromEvent<TDelegate, TEventArgs>(Action<TDelegate>, Action<TDelegate>)

    Converts a .NET event to an observable sequence, using a supplied event delegate type. Each event invocation is surfaced through an OnNext message in the resulting sequence. For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead.

    Declaration
    public static IObservable<TEventArgs> FromEvent<TDelegate, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler)
    Parameters
    Type Name Description
    Action<TDelegate> addHandler

    Action that attaches the given event handler to the underlying .NET event.

    Action<TDelegate> removeHandler

    Action that detaches the given event handler from the underlying .NET event.

    Returns
    Type Description
    IObservable<TEventArgs>

    The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event.

    Type Parameters
    Name Description
    TDelegate

    The delegate type of the event to be converted.

    TEventArgs

    The type of the event data generated by the event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    The current SynchronizationContext is captured during the call to FromEvent, and is used to post add and remove handler invocations. This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.

    If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread making the Subscribe or Dispose call, respectively.

    It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand.

    Exceptions
    Type Condition
    ArgumentNullException

    addHandler or removeHandler is null.

    See Also
    ToEvent(IObservable<Unit>)
    | Improve this Doc View Source

    FromEvent<TDelegate, TEventArgs>(Action<TDelegate>, Action<TDelegate>, IScheduler)

    Converts a .NET event to an observable sequence, using a supplied event delegate type. Each event invocation is surfaced through an OnNext message in the resulting sequence. For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead.

    Declaration
    public static IObservable<TEventArgs> FromEvent<TDelegate, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
    Parameters
    Type Name Description
    Action<TDelegate> addHandler

    Action that attaches the given event handler to the underlying .NET event.

    Action<TDelegate> removeHandler

    Action that detaches the given event handler from the underlying .NET event.

    IScheduler scheduler

    The scheduler to run the add and remove event handler logic on.

    Returns
    Type Description
    IObservable<TEventArgs>

    The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event.

    Type Parameters
    Name Description
    TDelegate

    The delegate type of the event to be converted.

    TEventArgs

    The type of the event data generated by the event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be accessed from the same context, as required by some UI frameworks.

    It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler parameter. For more information, see the remarks section on those overloads.

    Exceptions
    Type Condition
    ArgumentNullException

    addHandler or removeHandler or scheduler is null.

    See Also
    ToEvent(IObservable<Unit>)
    | Improve this Doc View Source

    FromEvent<TDelegate, TEventArgs>(Func<Action<TEventArgs>, TDelegate>, Action<TDelegate>, Action<TDelegate>)

    Converts a .NET event to an observable sequence, using a conversion function to obtain the event delegate. Each event invocation is surfaced through an OnNext message in the resulting sequence. For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead.

    Declaration
    public static IObservable<TEventArgs> FromEvent<TDelegate, TEventArgs>(Func<Action<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler)
    Parameters
    Type Name Description
    Func<Action<TEventArgs>, TDelegate> conversion

    A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters.

    Action<TDelegate> addHandler

    Action that attaches the given event handler to the underlying .NET event.

    Action<TDelegate> removeHandler

    Action that detaches the given event handler from the underlying .NET event.

    Returns
    Type Description
    IObservable<TEventArgs>

    The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event.

    Type Parameters
    Name Description
    TDelegate

    The delegate type of the event to be converted.

    TEventArgs

    The type of the event data generated by the event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    The current SynchronizationContext is captured during the call to FromEvent, and is used to post add and remove handler invocations. This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.

    If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread making the Subscribe or Dispose call, respectively.

    It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand.

    Exceptions
    Type Condition
    ArgumentNullException

    conversion or addHandler or removeHandler is null.

    See Also
    ToEvent(IObservable<Unit>)
    | Improve this Doc View Source

    FromEvent<TDelegate, TEventArgs>(Func<Action<TEventArgs>, TDelegate>, Action<TDelegate>, Action<TDelegate>, IScheduler)

    Converts a .NET event to an observable sequence, using a conversion function to obtain the event delegate. Each event invocation is surfaced through an OnNext message in the resulting sequence. For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead.

    Declaration
    public static IObservable<TEventArgs> FromEvent<TDelegate, TEventArgs>(Func<Action<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
    Parameters
    Type Name Description
    Func<Action<TEventArgs>, TDelegate> conversion

    A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters.

    Action<TDelegate> addHandler

    Action that attaches the given event handler to the underlying .NET event.

    Action<TDelegate> removeHandler

    Action that detaches the given event handler from the underlying .NET event.

    IScheduler scheduler

    The scheduler to run the add and remove event handler logic on.

    Returns
    Type Description
    IObservable<TEventArgs>

    The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event.

    Type Parameters
    Name Description
    TDelegate

    The delegate type of the event to be converted.

    TEventArgs

    The type of the event data generated by the event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be accessed from the same context, as required by some UI frameworks.

    It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler parameter. For more information, see the remarks section on those overloads.

    Exceptions
    Type Condition
    ArgumentNullException

    conversion or addHandler or removeHandler or scheduler is null.

    See Also
    ToEvent(IObservable<Unit>)
    | Improve this Doc View Source

    FromEventPattern(Action<EventHandler>, Action<EventHandler>)

    Converts a .NET event, conforming to the standard .NET event pattern based on EventHandler, to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.

    Declaration
    public static IObservable<EventPattern<EventArgs>> FromEventPattern(Action<EventHandler> addHandler, Action<EventHandler> removeHandler)
    Parameters
    Type Name Description
    Action<EventHandler> addHandler

    Action that attaches the given event handler to the underlying .NET event.

    Action<EventHandler> removeHandler

    Action that detaches the given event handler from the underlying .NET event.

    Returns
    Type Description
    IObservable<EventPattern<EventArgs>>

    The observable sequence that contains data representations of invocations of the underlying .NET event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    The current SynchronizationContext is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.

    If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread making the Subscribe or Dispose call, respectively.

    It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand.

    Exceptions
    Type Condition
    ArgumentNullException

    addHandler or removeHandler is null.

    See Also
    ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>>)
    | Improve this Doc View Source

    FromEventPattern(Action<EventHandler>, Action<EventHandler>, IScheduler)

    Converts a .NET event, conforming to the standard .NET event pattern based on EventHandler, to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.

    Declaration
    public static IObservable<EventPattern<EventArgs>> FromEventPattern(Action<EventHandler> addHandler, Action<EventHandler> removeHandler, IScheduler scheduler)
    Parameters
    Type Name Description
    Action<EventHandler> addHandler

    Action that attaches the given event handler to the underlying .NET event.

    Action<EventHandler> removeHandler

    Action that detaches the given event handler from the underlying .NET event.

    IScheduler scheduler

    The scheduler to run the add and remove event handler logic on.

    Returns
    Type Description
    IObservable<EventPattern<EventArgs>>

    The observable sequence that contains data representations of invocations of the underlying .NET event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be accessed from the same context, as required by some UI frameworks.

    It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler parameter. For more information, see the remarks section on those overloads.

    Exceptions
    Type Condition
    ArgumentNullException

    addHandler or removeHandler or scheduler is null.

    See Also
    ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>>)
    | Improve this Doc View Source

    FromEventPattern(Object, String)

    Converts an instance .NET event, conforming to the standard .NET event pattern with an EventArgs parameter, to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. Reflection is used to discover the event based on the target object type and the specified event name. For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.

    Declaration
    public static IObservable<EventPattern<EventArgs>> FromEventPattern(object target, string eventName)
    Parameters
    Type Name Description
    Object target

    Object instance that exposes the event to convert.

    String eventName

    Name of the event to convert.

    Returns
    Type Description
    IObservable<EventPattern<EventArgs>>

    The observable sequence that contains data representations of invocations of the underlying .NET event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    The current SynchronizationContext is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.

    If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread making the Subscribe or Dispose call, respectively.

    It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand.

    Exceptions
    Type Condition
    ArgumentNullException

    target or eventName is null.

    InvalidOperationException

    The event could not be found. -or- The event does not conform to the standard .NET event pattern.

    See Also
    ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>>)
    | Improve this Doc View Source

    FromEventPattern(Object, String, IScheduler)

    Converts an instance .NET event, conforming to the standard .NET event pattern with an EventArgs parameter, to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. Reflection is used to discover the event based on the target object type and the specified event name. For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.

    Declaration
    public static IObservable<EventPattern<EventArgs>> FromEventPattern(object target, string eventName, IScheduler scheduler)
    Parameters
    Type Name Description
    Object target

    Object instance that exposes the event to convert.

    String eventName

    Name of the event to convert.

    IScheduler scheduler

    The scheduler to run the add and remove event handler logic on.

    Returns
    Type Description
    IObservable<EventPattern<EventArgs>>

    The observable sequence that contains data representations of invocations of the underlying .NET event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be accessed from the same context, as required by some UI frameworks.

    It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler parameter. For more information, see the remarks section on those overloads.

    Exceptions
    Type Condition
    ArgumentNullException

    target or eventName or scheduler is null.

    InvalidOperationException

    The event could not be found. -or- The event does not conform to the standard .NET event pattern.

    See Also
    ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>>)
    | Improve this Doc View Source

    FromEventPattern(Type, String)

    Converts a static .NET event, conforming to the standard .NET event pattern with an EventArgs parameter, to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. Reflection is used to discover the event based on the specified type and the specified event name. For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.

    Declaration
    public static IObservable<EventPattern<EventArgs>> FromEventPattern(Type type, string eventName)
    Parameters
    Type Name Description
    Type type

    Type that exposes the static event to convert.

    String eventName

    Name of the event to convert.

    Returns
    Type Description
    IObservable<EventPattern<EventArgs>>

    The observable sequence that contains data representations of invocations of the underlying .NET event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    The current SynchronizationContext is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.

    If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread making the Subscribe or Dispose call, respectively.

    It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand.

    Exceptions
    Type Condition
    ArgumentNullException

    type or eventName is null.

    InvalidOperationException

    The event could not be found. -or- The event does not conform to the standard .NET event pattern.

    See Also
    ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>>)
    | Improve this Doc View Source

    FromEventPattern(Type, String, IScheduler)

    Converts a static .NET event, conforming to the standard .NET event pattern with an EventArgs parameter, to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. Reflection is used to discover the event based on the specified type and the specified event name. For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.

    Declaration
    public static IObservable<EventPattern<EventArgs>> FromEventPattern(Type type, string eventName, IScheduler scheduler)
    Parameters
    Type Name Description
    Type type

    Type that exposes the static event to convert.

    String eventName

    Name of the event to convert.

    IScheduler scheduler

    The scheduler to run the add and remove event handler logic on.

    Returns
    Type Description
    IObservable<EventPattern<EventArgs>>

    The observable sequence that contains data representations of invocations of the underlying .NET event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be accessed from the same context, as required by some UI frameworks.

    It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler parameter. For more information, see the remarks section on those overloads.

    Exceptions
    Type Condition
    ArgumentNullException

    type or eventName or scheduler is null.

    InvalidOperationException

    The event could not be found. -or- The event does not conform to the standard .NET event pattern.

    See Also
    ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>>)
    | Improve this Doc View Source

    FromEventPattern<TEventArgs>(Action<EventHandler<TEventArgs>>, Action<EventHandler<TEventArgs>>)

    Converts a .NET event, conforming to the standard .NET event pattern based on EventHandler<TEventArgs>, to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.

    Declaration
    public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(Action<EventHandler<TEventArgs>> addHandler, Action<EventHandler<TEventArgs>> removeHandler)
        where TEventArgs : EventArgs
    Parameters
    Type Name Description
    Action<EventHandler<TEventArgs>> addHandler

    Action that attaches the given event handler to the underlying .NET event.

    Action<EventHandler<TEventArgs>> removeHandler

    Action that detaches the given event handler from the underlying .NET event.

    Returns
    Type Description
    IObservable<EventPattern<TEventArgs>>

    The observable sequence that contains data representations of invocations of the underlying .NET event.

    Type Parameters
    Name Description
    TEventArgs

    The type of the event data generated by the event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    The current SynchronizationContext is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.

    If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread making the Subscribe or Dispose call, respectively.

    It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand.

    See Also
    ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>>)
    | Improve this Doc View Source

    FromEventPattern<TEventArgs>(Action<EventHandler<TEventArgs>>, Action<EventHandler<TEventArgs>>, IScheduler)

    Converts a .NET event, conforming to the standard .NET event pattern based on EventHandler<TEventArgs>, to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.

    Declaration
    public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(Action<EventHandler<TEventArgs>> addHandler, Action<EventHandler<TEventArgs>> removeHandler, IScheduler scheduler)
        where TEventArgs : EventArgs
    Parameters
    Type Name Description
    Action<EventHandler<TEventArgs>> addHandler

    Action that attaches the given event handler to the underlying .NET event.

    Action<EventHandler<TEventArgs>> removeHandler

    Action that detaches the given event handler from the underlying .NET event.

    IScheduler scheduler

    The scheduler to run the add and remove event handler logic on.

    Returns
    Type Description
    IObservable<EventPattern<TEventArgs>>

    The observable sequence that contains data representations of invocations of the underlying .NET event.

    Type Parameters
    Name Description
    TEventArgs

    The type of the event data generated by the event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be accessed from the same context, as required by some UI frameworks.

    It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler parameter. For more information, see the remarks section on those overloads.

    See Also
    ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>>)
    | Improve this Doc View Source

    FromEventPattern<TEventArgs>(Object, String)

    Converts an instance .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. Reflection is used to discover the event based on the target object type and the specified event name. For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.

    Declaration
    public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(object target, string eventName)
        where TEventArgs : EventArgs
    Parameters
    Type Name Description
    Object target

    Object instance that exposes the event to convert.

    String eventName

    Name of the event to convert.

    Returns
    Type Description
    IObservable<EventPattern<TEventArgs>>

    The observable sequence that contains data representations of invocations of the underlying .NET event.

    Type Parameters
    Name Description
    TEventArgs

    The type of the event data generated by the event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    The current SynchronizationContext is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.

    If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread making the Subscribe or Dispose call, respectively.

    It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand.

    Exceptions
    Type Condition
    ArgumentNullException

    target or eventName is null.

    InvalidOperationException

    The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs.

    See Also
    ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>>)
    | Improve this Doc View Source

    FromEventPattern<TEventArgs>(Object, String, IScheduler)

    Converts an instance .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. Reflection is used to discover the event based on the target object type and the specified event name. For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.

    Declaration
    public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(object target, string eventName, IScheduler scheduler)
        where TEventArgs : EventArgs
    Parameters
    Type Name Description
    Object target

    Object instance that exposes the event to convert.

    String eventName

    Name of the event to convert.

    IScheduler scheduler

    The scheduler to run the add and remove event handler logic on.

    Returns
    Type Description
    IObservable<EventPattern<TEventArgs>>

    The observable sequence that contains data representations of invocations of the underlying .NET event.

    Type Parameters
    Name Description
    TEventArgs

    The type of the event data generated by the event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be accessed from the same context, as required by some UI frameworks.

    It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler parameter. For more information, see the remarks section on those overloads.

    Exceptions
    Type Condition
    ArgumentNullException

    target or eventName or scheduler is null.

    InvalidOperationException

    The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs.

    See Also
    ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>>)
    | Improve this Doc View Source

    FromEventPattern<TEventArgs>(Type, String)

    Converts a static .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. Reflection is used to discover the event based on the specified type and the specified event name. For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.

    Declaration
    public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(Type type, string eventName)
        where TEventArgs : EventArgs
    Parameters
    Type Name Description
    Type type

    Type that exposes the static event to convert.

    String eventName

    Name of the event to convert.

    Returns
    Type Description
    IObservable<EventPattern<TEventArgs>>

    The observable sequence that contains data representations of invocations of the underlying .NET event.

    Type Parameters
    Name Description
    TEventArgs

    The type of the event data generated by the event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    The current SynchronizationContext is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.

    If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread making the Subscribe or Dispose call, respectively.

    It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand.

    Exceptions
    Type Condition
    ArgumentNullException

    type or eventName is null.

    InvalidOperationException

    The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs.

    See Also
    ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>>)
    | Improve this Doc View Source

    FromEventPattern<TEventArgs>(Type, String, IScheduler)

    Converts a static .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. Reflection is used to discover the event based on the specified type and the specified event name. For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.

    Declaration
    public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(Type type, string eventName, IScheduler scheduler)
        where TEventArgs : EventArgs
    Parameters
    Type Name Description
    Type type

    Type that exposes the static event to convert.

    String eventName

    Name of the event to convert.

    IScheduler scheduler

    The scheduler to run the add and remove event handler logic on.

    Returns
    Type Description
    IObservable<EventPattern<TEventArgs>>

    The observable sequence that contains data representations of invocations of the underlying .NET event.

    Type Parameters
    Name Description
    TEventArgs

    The type of the event data generated by the event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be accessed from the same context, as required by some UI frameworks.

    It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler parameter. For more information, see the remarks section on those overloads.

    Exceptions
    Type Condition
    ArgumentNullException

    type or eventName or scheduler is null.

    InvalidOperationException

    The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs.

    See Also
    ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>>)
    | Improve this Doc View Source

    FromEventPattern<TDelegate, TEventArgs>(Action<TDelegate>, Action<TDelegate>)

    Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type, to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.

    Declaration
    public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TDelegate, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler)
        where TEventArgs : EventArgs
    Parameters
    Type Name Description
    Action<TDelegate> addHandler

    Action that attaches the given event handler to the underlying .NET event.

    Action<TDelegate> removeHandler

    Action that detaches the given event handler from the underlying .NET event.

    Returns
    Type Description
    IObservable<EventPattern<TEventArgs>>

    The observable sequence that contains data representations of invocations of the underlying .NET event.

    Type Parameters
    Name Description
    TDelegate

    The delegate type of the event to be converted.

    TEventArgs

    The type of the event data generated by the event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    The current SynchronizationContext is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.

    If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread making the Subscribe or Dispose call, respectively.

    It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand.

    Exceptions
    Type Condition
    ArgumentNullException

    addHandler or removeHandler is null.

    See Also
    ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>>)
    | Improve this Doc View Source

    FromEventPattern<TDelegate, TEventArgs>(Action<TDelegate>, Action<TDelegate>, IScheduler)

    Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type, to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.

    Declaration
    public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TDelegate, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
        where TEventArgs : EventArgs
    Parameters
    Type Name Description
    Action<TDelegate> addHandler

    Action that attaches the given event handler to the underlying .NET event.

    Action<TDelegate> removeHandler

    Action that detaches the given event handler from the underlying .NET event.

    IScheduler scheduler

    The scheduler to run the add and remove event handler logic on.

    Returns
    Type Description
    IObservable<EventPattern<TEventArgs>>

    The observable sequence that contains data representations of invocations of the underlying .NET event.

    Type Parameters
    Name Description
    TDelegate

    The delegate type of the event to be converted.

    TEventArgs

    The type of the event data generated by the event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be accessed from the same context, as required by some UI frameworks.

    It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler parameter. For more information, see the remarks section on those overloads.

    Exceptions
    Type Condition
    ArgumentNullException

    addHandler or removeHandler or scheduler is null.

    See Also
    ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>>)
    | Improve this Doc View Source

    FromEventPattern<TDelegate, TEventArgs>(Func<EventHandler<TEventArgs>, TDelegate>, Action<TDelegate>, Action<TDelegate>)

    Converts a .NET event, conforming to the standard .NET event pattern based on EventHandler<TEventArgs>, to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.

    Declaration
    public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TDelegate, TEventArgs>(Func<EventHandler<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler)
        where TEventArgs : EventArgs
    Parameters
    Type Name Description
    Func<EventHandler<TEventArgs>, TDelegate> conversion

    A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters.

    Action<TDelegate> addHandler

    Action that attaches the given event handler to the underlying .NET event.

    Action<TDelegate> removeHandler

    Action that detaches the given event handler from the underlying .NET event.

    Returns
    Type Description
    IObservable<EventPattern<TEventArgs>>

    The observable sequence that contains data representations of invocations of the underlying .NET event.

    Type Parameters
    Name Description
    TDelegate

    The delegate type of the event to be converted.

    TEventArgs

    The type of the event data generated by the event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    The current SynchronizationContext is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.

    If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread making the Subscribe or Dispose call, respectively.

    It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand.

    Exceptions
    Type Condition
    ArgumentNullException

    conversion or addHandler or removeHandler is null.

    See Also
    ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>>)
    | Improve this Doc View Source

    FromEventPattern<TDelegate, TEventArgs>(Func<EventHandler<TEventArgs>, TDelegate>, Action<TDelegate>, Action<TDelegate>, IScheduler)

    Converts a .NET event, conforming to the standard .NET event pattern based on EventHandler<TEventArgs>, to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.

    Declaration
    public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TDelegate, TEventArgs>(Func<EventHandler<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
        where TEventArgs : EventArgs
    Parameters
    Type Name Description
    Func<EventHandler<TEventArgs>, TDelegate> conversion

    A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters.

    Action<TDelegate> addHandler

    Action that attaches the given event handler to the underlying .NET event.

    Action<TDelegate> removeHandler

    Action that detaches the given event handler from the underlying .NET event.

    IScheduler scheduler

    The scheduler to run the add and remove event handler logic on.

    Returns
    Type Description
    IObservable<EventPattern<TEventArgs>>

    The observable sequence that contains data representations of invocations of the underlying .NET event.

    Type Parameters
    Name Description
    TDelegate

    The delegate type of the event to be converted.

    TEventArgs

    The type of the event data generated by the event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be accessed from the same context, as required by some UI frameworks.

    It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler parameter. For more information, see the remarks section on those overloads.

    Exceptions
    Type Condition
    ArgumentNullException

    conversion or addHandler or removeHandler or scheduler is null.

    See Also
    ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>>)
    | Improve this Doc View Source

    FromEventPattern<TSender, TEventArgs>(Object, String)

    Converts an instance .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. Reflection is used to discover the event based on the target object type and the specified event name. For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.

    Declaration
    public static IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TSender, TEventArgs>(object target, string eventName)
        where TEventArgs : EventArgs
    Parameters
    Type Name Description
    Object target

    Object instance that exposes the event to convert.

    String eventName

    Name of the event to convert.

    Returns
    Type Description
    IObservable<EventPattern<TSender, TEventArgs>>

    The observable sequence that contains data representations of invocations of the underlying .NET event.

    Type Parameters
    Name Description
    TSender

    The type of the sender that raises the event.

    TEventArgs

    The type of the event data generated by the event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    The current SynchronizationContext is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.

    If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread making the Subscribe or Dispose call, respectively.

    It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand.

    Exceptions
    Type Condition
    ArgumentNullException

    target or eventName is null.

    InvalidOperationException

    The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs.

    See Also
    ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>>)
    | Improve this Doc View Source

    FromEventPattern<TSender, TEventArgs>(Object, String, IScheduler)

    Converts an instance .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. Reflection is used to discover the event based on the target object type and the specified event name. For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.

    Declaration
    public static IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TSender, TEventArgs>(object target, string eventName, IScheduler scheduler)
        where TEventArgs : EventArgs
    Parameters
    Type Name Description
    Object target

    Object instance that exposes the event to convert.

    String eventName

    Name of the event to convert.

    IScheduler scheduler

    The scheduler to run the add and remove event handler logic on.

    Returns
    Type Description
    IObservable<EventPattern<TSender, TEventArgs>>

    The observable sequence that contains data representations of invocations of the underlying .NET event.

    Type Parameters
    Name Description
    TSender

    The type of the sender that raises the event.

    TEventArgs

    The type of the event data generated by the event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be accessed from the same context, as required by some UI frameworks.

    It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler parameter. For more information, see the remarks section on those overloads.

    Exceptions
    Type Condition
    ArgumentNullException

    target or eventName or scheduler is null.

    InvalidOperationException

    The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs.

    See Also
    ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>>)
    | Improve this Doc View Source

    FromEventPattern<TSender, TEventArgs>(Type, String)

    Converts a static .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. Reflection is used to discover the event based on the specified type and the specified event name. For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.

    Declaration
    public static IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TSender, TEventArgs>(Type type, string eventName)
        where TEventArgs : EventArgs
    Parameters
    Type Name Description
    Type type

    Type that exposes the static event to convert.

    String eventName

    Name of the event to convert.

    Returns
    Type Description
    IObservable<EventPattern<TSender, TEventArgs>>

    The observable sequence that contains data representations of invocations of the underlying .NET event.

    Type Parameters
    Name Description
    TSender

    The type of the sender that raises the event.

    TEventArgs

    The type of the event data generated by the event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    The current SynchronizationContext is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.

    If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread making the Subscribe or Dispose call, respectively.

    It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand.

    Exceptions
    Type Condition
    ArgumentNullException

    type or eventName is null.

    InvalidOperationException

    The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs.

    See Also
    ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>>)
    | Improve this Doc View Source

    FromEventPattern<TSender, TEventArgs>(Type, String, IScheduler)

    Converts a static .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. Reflection is used to discover the event based on the specified type and the specified event name. For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.

    Declaration
    public static IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TSender, TEventArgs>(Type type, string eventName, IScheduler scheduler)
        where TEventArgs : EventArgs
    Parameters
    Type Name Description
    Type type

    Type that exposes the static event to convert.

    String eventName

    Name of the event to convert.

    IScheduler scheduler

    The scheduler to run the add and remove event handler logic on.

    Returns
    Type Description
    IObservable<EventPattern<TSender, TEventArgs>>

    The observable sequence that contains data representations of invocations of the underlying .NET event.

    Type Parameters
    Name Description
    TSender

    The type of the sender that raises the event.

    TEventArgs

    The type of the event data generated by the event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be accessed from the same context, as required by some UI frameworks.

    It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler parameter. For more information, see the remarks section on those overloads.

    Exceptions
    Type Condition
    ArgumentNullException

    type or eventName or scheduler is null.

    InvalidOperationException

    The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs.

    See Also
    ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>>)
    | Improve this Doc View Source

    FromEventPattern<TDelegate, TSender, TEventArgs>(Action<TDelegate>, Action<TDelegate>)

    Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type with a strongly typed sender parameter, to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.

    Declaration
    public static IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TDelegate, TSender, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler)
        where TEventArgs : EventArgs
    Parameters
    Type Name Description
    Action<TDelegate> addHandler

    Action that attaches the given event handler to the underlying .NET event.

    Action<TDelegate> removeHandler

    Action that detaches the given event handler from the underlying .NET event.

    Returns
    Type Description
    IObservable<EventPattern<TSender, TEventArgs>>

    The observable sequence that contains data representations of invocations of the underlying .NET event.

    Type Parameters
    Name Description
    TDelegate

    The delegate type of the event to be converted.

    TSender

    The type of the sender that raises the event.

    TEventArgs

    The type of the event data generated by the event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    The current SynchronizationContext is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.

    If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread making the Subscribe or Dispose call, respectively.

    It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand.

    Exceptions
    Type Condition
    ArgumentNullException

    addHandler or removeHandler is null.

    See Also
    ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>>)
    | Improve this Doc View Source

    FromEventPattern<TDelegate, TSender, TEventArgs>(Action<TDelegate>, Action<TDelegate>, IScheduler)

    Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type with a strongly typed sender parameter, to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.

    Declaration
    public static IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TDelegate, TSender, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
        where TEventArgs : EventArgs
    Parameters
    Type Name Description
    Action<TDelegate> addHandler

    Action that attaches the given event handler to the underlying .NET event.

    Action<TDelegate> removeHandler

    Action that detaches the given event handler from the underlying .NET event.

    IScheduler scheduler

    The scheduler to run the add and remove event handler logic on.

    Returns
    Type Description
    IObservable<EventPattern<TSender, TEventArgs>>

    The observable sequence that contains data representations of invocations of the underlying .NET event.

    Type Parameters
    Name Description
    TDelegate

    The delegate type of the event to be converted.

    TSender

    The type of the sender that raises the event.

    TEventArgs

    The type of the event data generated by the event.

    Remarks

    Add and remove handler invocations are made whenever the number of observers grows beyond zero. As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.

    Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be accessed from the same context, as required by some UI frameworks.

    It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler parameter. For more information, see the remarks section on those overloads.

    Exceptions
    Type Condition
    ArgumentNullException

    addHandler or removeHandler or scheduler is null.

    See Also
    ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>>)
    | Improve this Doc View Source

    Generate<TState, TResult>(TState, Func<TState, Boolean>, Func<TState, TState>, Func<TState, TResult>)

    Generates an observable sequence by running a state-driven loop producing the sequence's elements.

    Declaration
    public static IObservable<TResult> Generate<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector)
    Parameters
    Type Name Description
    TState initialState

    Initial state.

    Func<TState, Boolean> condition

    Condition to terminate generation (upon returning false).

    Func<TState, TState> iterate

    Iteration step function.

    Func<TState, TResult> resultSelector

    Selector function for results produced in the sequence.

    Returns
    Type Description
    IObservable<TResult>

    The generated sequence.

    Type Parameters
    Name Description
    TState

    The type of the state used in the generator loop.

    TResult

    The type of the elements in the produced sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    condition or iterate or resultSelector is null.

    | Improve this Doc View Source

    Generate<TState, TResult>(TState, Func<TState, Boolean>, Func<TState, TState>, Func<TState, TResult>, Func<TState, DateTimeOffset>)

    Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements.

    Declaration
    public static IObservable<TResult> Generate<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector, Func<TState, DateTimeOffset> timeSelector)
    Parameters
    Type Name Description
    TState initialState

    Initial state.

    Func<TState, Boolean> condition

    Condition to terminate generation (upon returning false).

    Func<TState, TState> iterate

    Iteration step function.

    Func<TState, TResult> resultSelector

    Selector function for results produced in the sequence.

    Func<TState, DateTimeOffset> timeSelector

    Time selector function to control the speed of values being produced each iteration.

    Returns
    Type Description
    IObservable<TResult>

    The generated sequence.

    Type Parameters
    Name Description
    TState

    The type of the state used in the generator loop.

    TResult

    The type of the elements in the produced sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    condition or iterate or resultSelector or timeSelector is null.

    | Improve this Doc View Source

    Generate<TState, TResult>(TState, Func<TState, Boolean>, Func<TState, TState>, Func<TState, TResult>, Func<TState, DateTimeOffset>, IScheduler)

    Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements, using the specified scheduler to run timers and to send out observer messages.

    Declaration
    public static IObservable<TResult> Generate<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector, Func<TState, DateTimeOffset> timeSelector, IScheduler scheduler)
    Parameters
    Type Name Description
    TState initialState

    Initial state.

    Func<TState, Boolean> condition

    Condition to terminate generation (upon returning false).

    Func<TState, TState> iterate

    Iteration step function.

    Func<TState, TResult> resultSelector

    Selector function for results produced in the sequence.

    Func<TState, DateTimeOffset> timeSelector

    Time selector function to control the speed of values being produced each iteration.

    IScheduler scheduler

    Scheduler on which to run the generator loop.

    Returns
    Type Description
    IObservable<TResult>

    The generated sequence.

    Type Parameters
    Name Description
    TState

    The type of the state used in the generator loop.

    TResult

    The type of the elements in the produced sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    condition or iterate or resultSelector or timeSelector or scheduler is null.

    | Improve this Doc View Source

    Generate<TState, TResult>(TState, Func<TState, Boolean>, Func<TState, TState>, Func<TState, TResult>, Func<TState, TimeSpan>)

    Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements.

    Declaration
    public static IObservable<TResult> Generate<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector, Func<TState, TimeSpan> timeSelector)
    Parameters
    Type Name Description
    TState initialState

    Initial state.

    Func<TState, Boolean> condition

    Condition to terminate generation (upon returning false).

    Func<TState, TState> iterate

    Iteration step function.

    Func<TState, TResult> resultSelector

    Selector function for results produced in the sequence.

    Func<TState, TimeSpan> timeSelector

    Time selector function to control the speed of values being produced each iteration.

    Returns
    Type Description
    IObservable<TResult>

    The generated sequence.

    Type Parameters
    Name Description
    TState

    The type of the state used in the generator loop.

    TResult

    The type of the elements in the produced sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    condition or iterate or resultSelector or timeSelector is null.

    | Improve this Doc View Source

    Generate<TState, TResult>(TState, Func<TState, Boolean>, Func<TState, TState>, Func<TState, TResult>, Func<TState, TimeSpan>, IScheduler)

    Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements, using the specified scheduler to run timers and to send out observer messages.

    Declaration
    public static IObservable<TResult> Generate<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector, Func<TState, TimeSpan> timeSelector, IScheduler scheduler)
    Parameters
    Type Name Description
    TState initialState

    Initial state.

    Func<TState, Boolean> condition

    Condition to terminate generation (upon returning false).

    Func<TState, TState> iterate

    Iteration step function.

    Func<TState, TResult> resultSelector

    Selector function for results produced in the sequence.

    Func<TState, TimeSpan> timeSelector

    Time selector function to control the speed of values being produced each iteration.

    IScheduler scheduler

    Scheduler on which to run the generator loop.

    Returns
    Type Description
    IObservable<TResult>

    The generated sequence.

    Type Parameters
    Name Description
    TState

    The type of the state used in the generator loop.

    TResult

    The type of the elements in the produced sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    condition or iterate or resultSelector or timeSelector or scheduler is null.

    | Improve this Doc View Source

    Generate<TState, TResult>(TState, Func<TState, Boolean>, Func<TState, TState>, Func<TState, TResult>, IScheduler)

    Generates an observable sequence by running a state-driven loop producing the sequence's elements, using the specified scheduler to send out observer messages.

    Declaration
    public static IObservable<TResult> Generate<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector, IScheduler scheduler)
    Parameters
    Type Name Description
    TState initialState

    Initial state.

    Func<TState, Boolean> condition

    Condition to terminate generation (upon returning false).

    Func<TState, TState> iterate

    Iteration step function.

    Func<TState, TResult> resultSelector

    Selector function for results produced in the sequence.

    IScheduler scheduler

    Scheduler on which to run the generator loop.

    Returns
    Type Description
    IObservable<TResult>

    The generated sequence.

    Type Parameters
    Name Description
    TState

    The type of the state used in the generator loop.

    TResult

    The type of the elements in the produced sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    condition or iterate or resultSelector or scheduler is null.

    | Improve this Doc View Source

    GetEnumerator<TSource>(IObservable<TSource>)

    Returns an enumerator that enumerates all values of the observable sequence.

    Declaration
    public static IEnumerator<TSource> GetEnumerator<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to get an enumerator for.

    Returns
    Type Description
    IEnumerator<TSource>

    The enumerator that can be used to enumerate over the elements in the observable sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    GroupBy<TSource, TKey>(IObservable<TSource>, Func<TSource, TKey>)

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

    Declaration
    public static IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(this IObservable<TSource> source, Func<TSource, TKey> keySelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence whose elements to group.

    Func<TSource, TKey> keySelector

    A function to extract the key for each element.

    Returns
    Type Description
    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.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the grouping key computed for each element in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector is null.

    | Improve this Doc View Source

    GroupBy<TSource, TKey>(IObservable<TSource>, Func<TSource, TKey>, IEqualityComparer<TKey>)

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

    Declaration
    public static IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence whose elements to group.

    Func<TSource, TKey> keySelector

    A function to extract the key for each element.

    IEqualityComparer<TKey> comparer

    An equality comparer to compare keys with.

    Returns
    Type Description
    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.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the grouping key computed for each element in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or comparer is null.

    | Improve this Doc View Source

    GroupBy<TSource, TKey>(IObservable<TSource>, Func<TSource, TKey>, Int32)

    Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function.

    Declaration
    public static IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, int capacity)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence whose elements to group.

    Func<TSource, TKey> keySelector

    A function to extract the key for each element.

    Int32 capacity

    The initial number of elements that the underlying dictionary can contain.

    Returns
    Type Description
    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.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the grouping key computed for each element in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector is null.

    ArgumentOutOfRangeException

    capacity is less than 0.

    | Improve this Doc View Source

    GroupBy<TSource, TKey>(IObservable<TSource>, Func<TSource, TKey>, Int32, IEqualityComparer<TKey>)

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

    Declaration
    public static IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, int capacity, IEqualityComparer<TKey> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence whose elements to group.

    Func<TSource, TKey> keySelector

    A function to extract the key for each element.

    Int32 capacity

    The initial number of elements that the underlying dictionary can contain.

    IEqualityComparer<TKey> comparer

    An equality comparer to compare keys with.

    Returns
    Type Description
    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.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the grouping key computed for each element in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or comparer is null.

    ArgumentOutOfRangeException

    capacity is less than 0.

    | Improve this Doc View Source

    GroupBy<TSource, TKey, TElement>(IObservable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>)

    Groups the elements of an observable sequence and selects the resulting elements by using a specified function.

    Declaration
    public static IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence whose elements to group.

    Func<TSource, TKey> keySelector

    A function to extract the key for each element.

    Func<TSource, TElement> elementSelector

    A function to map each source element to an element in an observable group.

    Returns
    Type Description
    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.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the grouping key computed for each element in the source sequence.

    TElement

    The type of the elements within the groups computed for each element in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or elementSelector is null.

    | Improve this Doc View Source

    GroupBy<TSource, TKey, TElement>(IObservable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, 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.

    Declaration
    public static IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence whose elements to group.

    Func<TSource, TKey> keySelector

    A function to extract the key for each element.

    Func<TSource, TElement> elementSelector

    A function to map each source element to an element in an observable group.

    IEqualityComparer<TKey> comparer

    An equality comparer to compare keys with.

    Returns
    Type Description
    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.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the grouping key computed for each element in the source sequence.

    TElement

    The type of the elements within the groups computed for each element in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or elementSelector or comparer is null.

    | Improve this Doc View Source

    GroupBy<TSource, TKey, TElement>(IObservable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, Int32)

    Groups the elements of an observable sequence with the specified initial capacity and selects the resulting elements by using a specified function.

    Declaration
    public static IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, int capacity)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence whose elements to group.

    Func<TSource, TKey> keySelector

    A function to extract the key for each element.

    Func<TSource, TElement> elementSelector

    A function to map each source element to an element in an observable group.

    Int32 capacity

    The initial number of elements that the underlying dictionary can contain.

    Returns
    Type Description
    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.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the grouping key computed for each element in the source sequence.

    TElement

    The type of the elements within the groups computed for each element in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or elementSelector is null.

    ArgumentOutOfRangeException

    capacity is less than 0.

    | Improve this Doc View Source

    GroupBy<TSource, TKey, TElement>(IObservable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, Int32, IEqualityComparer<TKey>)

    Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function and comparer and selects the resulting elements by using a specified function.

    Declaration
    public static IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, int capacity, IEqualityComparer<TKey> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence whose elements to group.

    Func<TSource, TKey> keySelector

    A function to extract the key for each element.

    Func<TSource, TElement> elementSelector

    A function to map each source element to an element in an observable group.

    Int32 capacity

    The initial number of elements that the underlying dictionary can contain.

    IEqualityComparer<TKey> comparer

    An equality comparer to compare keys with.

    Returns
    Type Description
    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.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the grouping key computed for each element in the source sequence.

    TElement

    The type of the elements within the groups computed for each element in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or elementSelector or comparer is null.

    ArgumentOutOfRangeException

    capacity is less than 0.

    | Improve this Doc View Source

    GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource>, Func<TSource, TKey>, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>>)

    Groups the elements of an observable sequence according to a specified key selector function. A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.

    Declaration
    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)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence whose elements to group.

    Func<TSource, TKey> keySelector

    A function to extract the key for each element.

    Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector

    A function to signal the expiration of a group.

    Returns
    Type Description
    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. If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the grouping key computed for each element in the source sequence.

    TDuration

    The type of the elements in the duration sequences obtained for each group to denote its lifetime.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or durationSelector is null.

    | Improve this Doc View Source

    GroupByUntil<TSource, TKey, TDuration>(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. A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.

    Declaration
    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)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence whose elements to group.

    Func<TSource, TKey> keySelector

    A function to extract the key for each element.

    Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector

    A function to signal the expiration of a group.

    IEqualityComparer<TKey> comparer

    An equality comparer to compare keys with.

    Returns
    Type Description
    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. If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the grouping key computed for each element in the source sequence.

    TDuration

    The type of the elements in the duration sequences obtained for each group to denote its lifetime.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or durationSelector or comparer is null.

    | Improve this Doc View Source

    GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource>, Func<TSource, TKey>, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>>, Int32)

    Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function. A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.

    Declaration
    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, int capacity)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence whose elements to group.

    Func<TSource, TKey> keySelector

    A function to extract the key for each element.

    Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector

    A function to signal the expiration of a group.

    Int32 capacity

    The initial number of elements that the underlying dictionary can contain.

    Returns
    Type Description
    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. If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the grouping key computed for each element in the source sequence.

    TDuration

    The type of the elements in the duration sequences obtained for each group to denote its lifetime.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or durationSelector is null.

    ArgumentOutOfRangeException

    capacity is less than 0.

    | Improve this Doc View Source

    GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource>, Func<TSource, TKey>, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>>, Int32, IEqualityComparer<TKey>)

    Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function and comparer. A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.

    Declaration
    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, int capacity, IEqualityComparer<TKey> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence whose elements to group.

    Func<TSource, TKey> keySelector

    A function to extract the key for each element.

    Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector

    A function to signal the expiration of a group.

    Int32 capacity

    The initial number of elements that the underlying dictionary can contain.

    IEqualityComparer<TKey> comparer

    An equality comparer to compare keys with.

    Returns
    Type Description
    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. If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the grouping key computed for each element in the source sequence.

    TDuration

    The type of the elements in the duration sequences obtained for each group to denote its lifetime.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or durationSelector or comparer is null.

    ArgumentOutOfRangeException

    capacity is less than 0.

    | Improve this Doc View Source

    GroupByUntil<TSource, TKey, TElement, TDuration>(IObservable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>>)

    Groups the elements of an observable sequence according to a specified key selector function and selects the resulting elements by using a specified function. A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.

    Declaration
    public static IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence whose elements to group.

    Func<TSource, TKey> keySelector

    A function to extract the key for each element.

    Func<TSource, TElement> elementSelector

    A function to map each source element to an element in an observable group.

    Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector

    A function to signal the expiration of a group.

    Returns
    Type Description
    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. If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the grouping key computed for each element in the source sequence.

    TElement

    The type of the elements within the groups computed for each element in the source sequence.

    TDuration

    The type of the elements in the duration sequences obtained for each group to denote its lifetime.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or elementSelector or durationSelector is null.

    | Improve this Doc View Source

    GroupByUntil<TSource, TKey, TElement, TDuration>(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. A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.

    Declaration
    public static IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, IEqualityComparer<TKey> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence whose elements to group.

    Func<TSource, TKey> keySelector

    A function to extract the key for each element.

    Func<TSource, TElement> elementSelector

    A function to map each source element to an element in an observable group.

    Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector

    A function to signal the expiration of a group.

    IEqualityComparer<TKey> comparer

    An equality comparer to compare keys with.

    Returns
    Type Description
    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. If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encountered.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the grouping key computed for each element in the source sequence.

    TElement

    The type of the elements within the groups computed for each element in the source sequence.

    TDuration

    The type of the elements in the duration sequences obtained for each group to denote its lifetime.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or elementSelector or durationSelector or comparer is null.

    | Improve this Doc View Source

    GroupByUntil<TSource, TKey, TElement, TDuration>(IObservable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>>, Int32)

    Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function and selects the resulting elements by using a specified function. A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.

    Declaration
    public static IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, int capacity)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence whose elements to group.

    Func<TSource, TKey> keySelector

    A function to extract the key for each element.

    Func<TSource, TElement> elementSelector

    A function to map each source element to an element in an observable group.

    Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector

    A function to signal the expiration of a group.

    Int32 capacity

    The initial number of elements that the underlying dictionary can contain.

    Returns
    Type Description
    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. If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the grouping key computed for each element in the source sequence.

    TElement

    The type of the elements within the groups computed for each element in the source sequence.

    TDuration

    The type of the elements in the duration sequences obtained for each group to denote its lifetime.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or elementSelector or durationSelector is null.

    ArgumentOutOfRangeException

    capacity is less than 0.

    | Improve this Doc View Source

    GroupByUntil<TSource, TKey, TElement, TDuration>(IObservable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>>, Int32, IEqualityComparer<TKey>)

    Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function and comparer and selects the resulting elements by using a specified function. A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.

    Declaration
    public static IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, int capacity, IEqualityComparer<TKey> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence whose elements to group.

    Func<TSource, TKey> keySelector

    A function to extract the key for each element.

    Func<TSource, TElement> elementSelector

    A function to map each source element to an element in an observable group.

    Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector

    A function to signal the expiration of a group.

    Int32 capacity

    The initial number of elements that the underlying dictionary can contain.

    IEqualityComparer<TKey> comparer

    An equality comparer to compare keys with.

    Returns
    Type Description
    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. If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encountered.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the grouping key computed for each element in the source sequence.

    TElement

    The type of the elements within the groups computed for each element in the source sequence.

    TDuration

    The type of the elements in the duration sequences obtained for each group to denote its lifetime.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or elementSelector or durationSelector or comparer is null.

    ArgumentOutOfRangeException

    capacity is less than 0.

    | Improve this Doc View Source

    GroupJoin<TLeft, TRight, TLeftDuration, TRightDuration, TResult>(IObservable<TLeft>, IObservable<TRight>, Func<TLeft, IObservable<TLeftDuration>>, Func<TRight, IObservable<TRightDuration>>, Func<TLeft, IObservable<TRight>, TResult>)

    Correlates the elements of two sequences based on overlapping durations, and groups the results.

    Declaration
    public static IObservable<TResult> GroupJoin<TLeft, TRight, TLeftDuration, TRightDuration, TResult>(this IObservable<TLeft> left, IObservable<TRight> right, Func<TLeft, IObservable<TLeftDuration>> leftDurationSelector, Func<TRight, IObservable<TRightDuration>> rightDurationSelector, Func<TLeft, IObservable<TRight>, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TLeft> left

    The left observable sequence to join elements for.

    IObservable<TRight> right

    The right observable sequence to join elements for.

    Func<TLeft, IObservable<TLeftDuration>> leftDurationSelector

    A function to select the duration of each element of the left observable sequence, used to determine overlap.

    Func<TRight, IObservable<TRightDuration>> rightDurationSelector

    A function to select the duration of each element of the right observable sequence, used to determine overlap.

    Func<TLeft, IObservable<TRight>, TResult> resultSelector

    A function invoked to compute a result element for any element of the left sequence with overlapping elements from the right observable sequence.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence that contains result elements computed from source elements that have an overlapping duration.

    Type Parameters
    Name Description
    TLeft

    The type of the elements in the left source sequence.

    TRight

    The type of the elements in the right source sequence.

    TLeftDuration

    The type of the elements in the duration sequence denoting the computed duration of each element in the left source sequence.

    TRightDuration

    The type of the elements in the duration sequence denoting the computed duration of each element in the right source sequence.

    TResult

    The type of the elements in the result sequence, obtained by invoking the result selector function for source elements with overlapping duration.

    Exceptions
    Type Condition
    ArgumentNullException

    left or right or leftDurationSelector or rightDurationSelector or resultSelector is null.

    | Improve this Doc View Source

    If<TResult>(Func<Boolean>, IObservable<TResult>)

    If the specified condition evaluates true, select the thenSource sequence. Otherwise, return an empty sequence.

    Declaration
    public static IObservable<TResult> If<TResult>(Func<bool> condition, IObservable<TResult> thenSource)
    Parameters
    Type Name Description
    Func<Boolean> condition

    Condition evaluated to decide which sequence to return.

    IObservable<TResult> thenSource

    Sequence returned in case condition evaluates true.

    Returns
    Type Description
    IObservable<TResult>

    thenSource if condition evaluates true; an empty sequence otherwise.

    Type Parameters
    Name Description
    TResult

    The type of the elements in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    condition or thenSource is null.

    | Improve this Doc View Source

    If<TResult>(Func<Boolean>, IObservable<TResult>, IObservable<TResult>)

    If the specified condition evaluates true, select the thenSource sequence. Otherwise, select the elseSource sequence.

    Declaration
    public static IObservable<TResult> If<TResult>(Func<bool> condition, IObservable<TResult> thenSource, IObservable<TResult> elseSource)
    Parameters
    Type Name Description
    Func<Boolean> condition

    Condition evaluated to decide which sequence to return.

    IObservable<TResult> thenSource

    Sequence returned in case condition evaluates true.

    IObservable<TResult> elseSource

    Sequence returned in case condition evaluates false.

    Returns
    Type Description
    IObservable<TResult>

    thenSource if condition evaluates true; elseSource otherwise.

    Type Parameters
    Name Description
    TResult

    The type of the elements in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    condition or thenSource or elseSource is null.

    | Improve this Doc View Source

    If<TResult>(Func<Boolean>, IObservable<TResult>, IScheduler)

    If the specified condition evaluates true, select the thenSource sequence. Otherwise, return an empty sequence generated on the specified scheduler.

    Declaration
    public static IObservable<TResult> If<TResult>(Func<bool> condition, IObservable<TResult> thenSource, IScheduler scheduler)
    Parameters
    Type Name Description
    Func<Boolean> condition

    Condition evaluated to decide which sequence to return.

    IObservable<TResult> thenSource

    Sequence returned in case condition evaluates true.

    IScheduler scheduler

    Scheduler to generate an empty sequence on in case condition evaluates false.

    Returns
    Type Description
    IObservable<TResult>

    thenSource if condition evaluates true; an empty sequence otherwise.

    Type Parameters
    Name Description
    TResult

    The type of the elements in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    condition or thenSource or scheduler is null.

    | Improve this Doc View Source

    IgnoreElements<TSource>(IObservable<TSource>)

    Ignores all elements in an observable sequence leaving only the termination messages.

    Declaration
    public static IObservable<TSource> IgnoreElements<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    Returns
    Type Description
    IObservable<TSource>

    An empty observable sequence that signals termination, successful or exceptional, of the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Interval(TimeSpan)

    Returns an observable sequence that produces a value after each period.

    Declaration
    public static IObservable<long> Interval(TimeSpan period)
    Parameters
    Type Name Description
    TimeSpan period

    Period for producing the values in the resulting sequence. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible.

    Returns
    Type Description
    IObservable<Int64>

    An observable sequence that produces a value after each period.

    Remarks

    Intervals are measured between the start of subsequent notifications, not between the end of the previous and the start of the next notification. If the observer takes longer than the interval period to handle the message, the subsequent notification will be delivered immediately after the current one has been handled. In case you need to control the time between the end and the start of consecutive notifications, consider using the Generate<TState, TResult>(TState, Func<TState, Boolean>, Func<TState, TState>, Func<TState, TResult>, Func<TState, TimeSpan>) operator instead.

    Exceptions
    Type Condition
    ArgumentOutOfRangeException

    period is less than TimeSpan.Zero.

    | Improve this Doc View Source

    Interval(TimeSpan, IScheduler)

    Returns an observable sequence that produces a value after each period, using the specified scheduler to run timers and to send out observer messages.

    Declaration
    public static IObservable<long> Interval(TimeSpan period, IScheduler scheduler)
    Parameters
    Type Name Description
    TimeSpan period

    Period for producing the values in the resulting sequence. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible.

    IScheduler scheduler

    Scheduler to run the timer on.

    Returns
    Type Description
    IObservable<Int64>

    An observable sequence that produces a value after each period.

    Remarks

    Intervals are measured between the start of subsequent notifications, not between the end of the previous and the start of the next notification. If the observer takes longer than the interval period to handle the message, the subsequent notification will be delivered immediately after the current one has been handled. In case you need to control the time between the end and the start of consecutive notifications, consider using the Generate<TState, TResult>(TState, Func<TState, Boolean>, Func<TState, TState>, Func<TState, TResult>, Func<TState, TimeSpan>, IScheduler) operator instead.

    Exceptions
    Type Condition
    ArgumentOutOfRangeException

    period is less than TimeSpan.Zero.

    ArgumentNullException

    scheduler is null.

    | Improve this Doc View Source

    IsEmpty<TSource>(IObservable<TSource>)

    Determines whether an observable sequence is empty.

    Declaration
    public static IObservable<bool> IsEmpty<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to check for emptiness.

    Returns
    Type Description
    IObservable<Boolean>

    An observable sequence containing a single element determining whether the source sequence is empty.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Join<TLeft, TRight, TLeftDuration, TRightDuration, TResult>(IObservable<TLeft>, IObservable<TRight>, Func<TLeft, IObservable<TLeftDuration>>, Func<TRight, IObservable<TRightDuration>>, Func<TLeft, TRight, TResult>)

    Correlates the elements of two sequences based on overlapping durations.

    Declaration
    public static IObservable<TResult> Join<TLeft, TRight, TLeftDuration, TRightDuration, TResult>(this IObservable<TLeft> left, IObservable<TRight> right, Func<TLeft, IObservable<TLeftDuration>> leftDurationSelector, Func<TRight, IObservable<TRightDuration>> rightDurationSelector, Func<TLeft, TRight, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TLeft> left

    The left observable sequence to join elements for.

    IObservable<TRight> right

    The right observable sequence to join elements for.

    Func<TLeft, IObservable<TLeftDuration>> leftDurationSelector

    A function to select the duration of each element of the left observable sequence, used to determine overlap.

    Func<TRight, IObservable<TRightDuration>> rightDurationSelector

    A function to select the duration of each element of the right observable sequence, used to determine overlap.

    Func<TLeft, TRight, TResult> resultSelector

    A function invoked to compute a result element for any two overlapping elements of the left and right observable sequences.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence that contains result elements computed from source elements that have an overlapping duration.

    Type Parameters
    Name Description
    TLeft

    The type of the elements in the left source sequence.

    TRight

    The type of the elements in the right source sequence.

    TLeftDuration

    The type of the elements in the duration sequence denoting the computed duration of each element in the left source sequence.

    TRightDuration

    The type of the elements in the duration sequence denoting the computed duration of each element in the right source sequence.

    TResult

    The type of the elements in the result sequence, obtained by invoking the result selector function for source elements with overlapping duration.

    Exceptions
    Type Condition
    ArgumentNullException

    left or right or leftDurationSelector or rightDurationSelector or resultSelector is null.

    | Improve this Doc View Source

    Last<TSource>(IObservable<TSource>)

    Returns the last element of an observable sequence.

    Declaration
    public static TSource Last<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Returns
    Type Description
    TSource

    The last element in the observable sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    InvalidOperationException

    The source sequence is empty.

    See Also
    LastAsync<TSource>(IObservable<TSource>)
    | Improve this Doc View Source

    Last<TSource>(IObservable<TSource>, Func<TSource, Boolean>)

    Returns the last element of an observable sequence that satisfies the condition in the predicate.

    Declaration
    public static TSource Last<TSource>(this IObservable<TSource> source, Func<TSource, bool> predicate)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Func<TSource, Boolean> predicate

    A predicate function to evaluate for elements in the source sequence.

    Returns
    Type Description
    TSource

    The last element in the observable sequence that satisfies the condition in the predicate.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or predicate is null.

    InvalidOperationException

    No element satisfies the condition in the predicate. -or- The source sequence is empty.

    See Also
    LastAsync<TSource>(IObservable<TSource>, Func<TSource, Boolean>)
    | Improve this Doc View Source

    LastAsync<TSource>(IObservable<TSource>)

    Returns the last element of an observable sequence.

    Declaration
    public static IObservable<TSource> LastAsync<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Returns
    Type Description
    IObservable<TSource>

    Sequence containing the last element in the observable sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    InvalidOperationException

    (Asynchronous) The source sequence is empty.

    | Improve this Doc View Source

    LastAsync<TSource>(IObservable<TSource>, Func<TSource, Boolean>)

    Returns the last element of an observable sequence that satisfies the condition in the predicate.

    Declaration
    public static IObservable<TSource> LastAsync<TSource>(this IObservable<TSource> source, Func<TSource, bool> predicate)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Func<TSource, Boolean> predicate

    A predicate function to evaluate for elements in the source sequence.

    Returns
    Type Description
    IObservable<TSource>

    Sequence containing the last element in the observable sequence that satisfies the condition in the predicate.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or predicate is null.

    InvalidOperationException

    (Asynchronous) No element satisfies the condition in the predicate. -or- The source sequence is empty.

    | Improve this Doc View Source

    LastOrDefault<TSource>(IObservable<TSource>)

    Returns the last element of an observable sequence, or a default value if no such element exists.

    Declaration
    public static TSource LastOrDefault<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Returns
    Type Description
    TSource

    The last element in the observable sequence, or a default value if no such element exists.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    See Also
    LastOrDefaultAsync<TSource>(IObservable<TSource>)
    | Improve this Doc View Source

    LastOrDefault<TSource>(IObservable<TSource>, Func<TSource, Boolean>)

    Returns the last element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists.

    Declaration
    public static TSource LastOrDefault<TSource>(this IObservable<TSource> source, Func<TSource, bool> predicate)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Func<TSource, Boolean> predicate

    A predicate function to evaluate for elements in the source sequence.

    Returns
    Type Description
    TSource

    The last element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or predicate is null.

    See Also
    LastOrDefaultAsync<TSource>(IObservable<TSource>, Func<TSource, Boolean>)
    | Improve this Doc View Source

    LastOrDefaultAsync<TSource>(IObservable<TSource>)

    Returns the last element of an observable sequence, or a default value if no such element exists.

    Declaration
    public static IObservable<TSource> LastOrDefaultAsync<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Returns
    Type Description
    IObservable<TSource>

    Sequence containing the last element in the observable sequence, or a default value if no such element exists.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    LastOrDefaultAsync<TSource>(IObservable<TSource>, Func<TSource, Boolean>)

    Returns the last element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists.

    Declaration
    public static IObservable<TSource> LastOrDefaultAsync<TSource>(this IObservable<TSource> source, Func<TSource, bool> predicate)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Func<TSource, Boolean> predicate

    A predicate function to evaluate for elements in the source sequence.

    Returns
    Type Description
    IObservable<TSource>

    Sequence containing the last element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or predicate is null.

    | Improve this Doc View Source

    Latest<TSource>(IObservable<TSource>)

    Returns an enumerable sequence whose enumeration returns the latest observed element in the source observable sequence. Enumerators on the resulting sequence will never produce the same element repeatedly, and will block until the next element becomes available.

    Declaration
    public static IEnumerable<TSource> Latest<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Returns
    Type Description
    IEnumerable<TSource>

    The enumerable sequence that returns the last sampled element upon each iteration and subsequently blocks until the next element in the observable source sequence becomes available.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    | Improve this Doc View Source

    LongCount<TSource>(IObservable<TSource>)

    Returns an observable sequence containing an Int64 that represents the total number of elements in an observable sequence.

    Declaration
    public static IObservable<long> LongCount<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence that contains elements to be counted.

    Returns
    Type Description
    IObservable<Int64>

    An observable sequence containing a single element with the number of elements in the input sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    OverflowException

    (Asynchronous) The number of elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    LongCount<TSource>(IObservable<TSource>, Func<TSource, Boolean>)

    Returns an observable sequence containing an Int64 that represents how many elements in the specified observable sequence satisfy a condition.

    Declaration
    public static IObservable<long> LongCount<TSource>(this IObservable<TSource> source, Func<TSource, bool> predicate)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence that contains elements to be counted.

    Func<TSource, Boolean> predicate

    A function to test each element for a condition.

    Returns
    Type Description
    IObservable<Int64>

    An observable sequence containing a single element with a number that represents how many elements in the input sequence satisfy the condition in the predicate function.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or predicate is null.

    | Improve this Doc View Source

    Materialize<TSource>(IObservable<TSource>)

    Materializes the implicit notifications of an observable sequence as explicit notification values.

    Declaration
    public static IObservable<Notification<TSource>> Materialize<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to get notification values for.

    Returns
    Type Description
    IObservable<Notification<TSource>>

    An observable sequence containing the materialized notification values from the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Max(IObservable<Decimal>)

    Returns the maximum value in an observable sequence of Decimal values.

    Declaration
    public static IObservable<decimal> Max(this IObservable<decimal> source)
    Parameters
    Type Name Description
    IObservable<Decimal> source

    A sequence of Decimal values to determine the maximum value of.

    Returns
    Type Description
    IObservable<Decimal>

    An observable sequence containing a single element with the maximum value in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Max(IObservable<Double>)

    Returns the maximum value in an observable sequence of Double values.

    Declaration
    public static IObservable<double> Max(this IObservable<double> source)
    Parameters
    Type Name Description
    IObservable<Double> source

    A sequence of Double values to determine the maximum value of.

    Returns
    Type Description
    IObservable<Double>

    An observable sequence containing a single element with the maximum value in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Max(IObservable<Int32>)

    Returns the maximum value in an observable sequence of Int32 values.

    Declaration
    public static IObservable<int> Max(this IObservable<int> source)
    Parameters
    Type Name Description
    IObservable<Int32> source

    A sequence of Int32 values to determine the maximum value of.

    Returns
    Type Description
    IObservable<Int32>

    An observable sequence containing a single element with the maximum value in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Max(IObservable<Int64>)

    Returns the maximum value in an observable sequence of Int64 values.

    Declaration
    public static IObservable<long> Max(this IObservable<long> source)
    Parameters
    Type Name Description
    IObservable<Int64> source

    A sequence of Int64 values to determine the maximum value of.

    Returns
    Type Description
    IObservable<Int64>

    An observable sequence containing a single element with the maximum value in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Max(IObservable<Nullable<Decimal>>)

    Returns the maximum value in an observable sequence of nullable Decimal values.

    Declaration
    public static IObservable<decimal?> Max(this IObservable<decimal?> source)
    Parameters
    Type Name Description
    IObservable<Nullable<Decimal>> source

    A sequence of nullable Decimal values to determine the maximum value of.

    Returns
    Type Description
    IObservable<Nullable<Decimal>>

    An observable sequence containing a single element with the maximum value in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Max(IObservable<Nullable<Double>>)

    Returns the maximum value in an observable sequence of nullable Double values.

    Declaration
    public static IObservable<double?> Max(this IObservable<double?> source)
    Parameters
    Type Name Description
    IObservable<Nullable<Double>> source

    A sequence of nullable Double values to determine the maximum value of.

    Returns
    Type Description
    IObservable<Nullable<Double>>

    An observable sequence containing a single element with the maximum value in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Max(IObservable<Nullable<Int32>>)

    Returns the maximum value in an observable sequence of nullable Int32 values.

    Declaration
    public static IObservable<int?> Max(this IObservable<int?> source)
    Parameters
    Type Name Description
    IObservable<Nullable<Int32>> source

    A sequence of nullable Int32 values to determine the maximum value of.

    Returns
    Type Description
    IObservable<Nullable<Int32>>

    An observable sequence containing a single element with the maximum value in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Max(IObservable<Nullable<Int64>>)

    Returns the maximum value in an observable sequence of nullable Int64 values.

    Declaration
    public static IObservable<long?> Max(this IObservable<long?> source)
    Parameters
    Type Name Description
    IObservable<Nullable<Int64>> source

    A sequence of nullable Int64 values to determine the maximum value of.

    Returns
    Type Description
    IObservable<Nullable<Int64>>

    An observable sequence containing a single element with the maximum value in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Max(IObservable<Nullable<Single>>)

    Returns the maximum value in an observable sequence of nullable Single values.

    Declaration
    public static IObservable<float?> Max(this IObservable<float?> source)
    Parameters
    Type Name Description
    IObservable<Nullable<Single>> source

    A sequence of nullable Single values to determine the maximum value of.

    Returns
    Type Description
    IObservable<Nullable<Single>>

    An observable sequence containing a single element with the maximum value in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Max(IObservable<Single>)

    Returns the maximum value in an observable sequence of Single values.

    Declaration
    public static IObservable<float> Max(this IObservable<float> source)
    Parameters
    Type Name Description
    IObservable<Single> source

    A sequence of Single values to determine the maximum value of.

    Returns
    Type Description
    IObservable<Single>

    An observable sequence containing a single element with the maximum value in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Max<TSource>(IObservable<TSource>)

    Returns the maximum element in an observable sequence.

    Declaration
    public static IObservable<TSource> Max<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to determine the maximum element of.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence containing a single element with the maximum element in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Max<TSource>(IObservable<TSource>, IComparer<TSource>)

    Returns the maximum value in an observable sequence according to the specified comparer.

    Declaration
    public static IObservable<TSource> Max<TSource>(this IObservable<TSource> source, IComparer<TSource> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to determine the maximum element of.

    IComparer<TSource> comparer

    Comparer used to compare elements.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence containing a single element with the maximum element in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or comparer is null.

    | Improve this Doc View Source

    Max<TSource>(IObservable<TSource>, Func<TSource, Decimal>)

    Invokes a transform function on each element of a sequence and returns the maximum Decimal value.

    Declaration
    public static IObservable<decimal> Max<TSource>(this IObservable<TSource> source, Func<TSource, decimal> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to determine the maximum value of.

    Func<TSource, Decimal> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Decimal>

    An observable sequence containing a single element with the value of type Decimal that corresponds to the maximum value in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Max<TSource>(IObservable<TSource>, Func<TSource, Double>)

    Invokes a transform function on each element of a sequence and returns the maximum Double value.

    Declaration
    public static IObservable<double> Max<TSource>(this IObservable<TSource> source, Func<TSource, double> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to determine the maximum value of.

    Func<TSource, Double> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Double>

    An observable sequence containing a single element with the value of type Double that corresponds to the maximum value in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Max<TSource>(IObservable<TSource>, Func<TSource, Int32>)

    Invokes a transform function on each element of a sequence and returns the maximum Int32 value.

    Declaration
    public static IObservable<int> Max<TSource>(this IObservable<TSource> source, Func<TSource, int> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to determine the maximum value of.

    Func<TSource, Int32> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Int32>

    An observable sequence containing a single element with the value of type Int32 that corresponds to the maximum value in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Max<TSource>(IObservable<TSource>, Func<TSource, Int64>)

    Invokes a transform function on each element of a sequence and returns the maximum Int64 value.

    Declaration
    public static IObservable<long> Max<TSource>(this IObservable<TSource> source, Func<TSource, long> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to determine the maximum value of.

    Func<TSource, Int64> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Int64>

    An observable sequence containing a single element with the value of type Int64 that corresponds to the maximum value in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Max<TSource>(IObservable<TSource>, Func<TSource, Nullable<Decimal>>)

    Invokes a transform function on each element of a sequence and returns the maximum nullable Decimal value.

    Declaration
    public static IObservable<decimal?> Max<TSource>(this IObservable<TSource> source, Func<TSource, decimal?> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to determine the maximum value of.

    Func<TSource, Nullable<Decimal>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Nullable<Decimal>>

    An observable sequence containing a single element with the value of type System.Nullable that corresponds to the maximum value in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Max<TSource>(IObservable<TSource>, Func<TSource, Nullable<Double>>)

    Invokes a transform function on each element of a sequence and returns the maximum nullable Double value.

    Declaration
    public static IObservable<double?> Max<TSource>(this IObservable<TSource> source, Func<TSource, double?> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to determine the maximum value of.

    Func<TSource, Nullable<Double>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Nullable<Double>>

    An observable sequence containing a single element with the value of type System.Nullable that corresponds to the maximum value in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Max<TSource>(IObservable<TSource>, Func<TSource, Nullable<Int32>>)

    Invokes a transform function on each element of a sequence and returns the maximum nullable Int32 value.

    Declaration
    public static IObservable<int?> Max<TSource>(this IObservable<TSource> source, Func<TSource, int?> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to determine the maximum value of.

    Func<TSource, Nullable<Int32>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Nullable<Int32>>

    An observable sequence containing a single element with the value of type System.Nullable that corresponds to the maximum value in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Max<TSource>(IObservable<TSource>, Func<TSource, Nullable<Int64>>)

    Invokes a transform function on each element of a sequence and returns the maximum nullable Int64 value.

    Declaration
    public static IObservable<long?> Max<TSource>(this IObservable<TSource> source, Func<TSource, long?> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to determine the maximum value of.

    Func<TSource, Nullable<Int64>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Nullable<Int64>>

    An observable sequence containing a single element with the value of type System.Nullable that corresponds to the maximum value in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Max<TSource>(IObservable<TSource>, Func<TSource, Nullable<Single>>)

    Invokes a transform function on each element of a sequence and returns the maximum nullable Single value.

    Declaration
    public static IObservable<float?> Max<TSource>(this IObservable<TSource> source, Func<TSource, float?> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to determine the maximum value of.

    Func<TSource, Nullable<Single>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Nullable<Single>>

    An observable sequence containing a single element with the value of type System.Nullable that corresponds to the maximum value in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Max<TSource>(IObservable<TSource>, Func<TSource, Single>)

    Invokes a transform function on each element of a sequence and returns the maximum Single value.

    Declaration
    public static IObservable<float> Max<TSource>(this IObservable<TSource> source, Func<TSource, float> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to determine the maximum value of.

    Func<TSource, Single> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Single>

    An observable sequence containing a single element with the value of type Single that corresponds to the maximum value in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Max<TSource, TResult>(IObservable<TSource>, Func<TSource, TResult>)

    Invokes a transform function on each element of a sequence and returns the maximum value.

    Declaration
    public static IObservable<TResult> Max<TSource, TResult>(this IObservable<TSource> source, Func<TSource, TResult> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to determine the mimimum element of.

    Func<TSource, TResult> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing a single element with the value that corresponds to the maximum element in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the objects derived from the elements in the source sequence to determine the maximum of.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Max<TSource, TResult>(IObservable<TSource>, Func<TSource, TResult>, IComparer<TResult>)

    Invokes a transform function on each element of a sequence and returns the maximum value according to the specified comparer.

    Declaration
    public static IObservable<TResult> Max<TSource, TResult>(this IObservable<TSource> source, Func<TSource, TResult> selector, IComparer<TResult> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to determine the mimimum element of.

    Func<TSource, TResult> selector

    A transform function to apply to each element.

    IComparer<TResult> comparer

    Comparer used to compare elements.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing a single element with the value that corresponds to the maximum element in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the objects derived from the elements in the source sequence to determine the maximum of.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector or comparer is null.

    | Improve this Doc View Source

    MaxBy<TSource, TKey>(IObservable<TSource>, Func<TSource, TKey>)

    Returns the elements in an observable sequence with the maximum key value.

    Declaration
    public static IObservable<IList<TSource>> MaxBy<TSource, TKey>(this IObservable<TSource> source, Func<TSource, TKey> keySelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to get the maximum elements for.

    Func<TSource, TKey> keySelector

    Key selector function.

    Returns
    Type Description
    IObservable<IList<TSource>>

    An observable sequence containing a list of zero or more elements that have a maximum key value.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the key computed for each element in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector is null.

    | Improve this Doc View Source

    MaxBy<TSource, TKey>(IObservable<TSource>, Func<TSource, TKey>, IComparer<TKey>)

    Returns the elements in an observable sequence with the maximum key value according to the specified comparer.

    Declaration
    public static IObservable<IList<TSource>> MaxBy<TSource, TKey>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, IComparer<TKey> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to get the maximum elements for.

    Func<TSource, TKey> keySelector

    Key selector function.

    IComparer<TKey> comparer

    Comparer used to compare key values.

    Returns
    Type Description
    IObservable<IList<TSource>>

    An observable sequence containing a list of zero or more elements that have a maximum key value.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the key computed for each element in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or comparer is null.

    | Improve this Doc View Source

    Merge<TSource>(IEnumerable<IObservable<TSource>>)

    Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence.

    Declaration
    public static IObservable<TSource> Merge<TSource>(this IEnumerable<IObservable<TSource>> sources)
    Parameters
    Type Name Description
    IEnumerable<IObservable<TSource>> sources

    Enumerable sequence of observable sequences.

    Returns
    Type Description
    IObservable<TSource>

    The observable sequence that merges the elements of the observable sequences.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences.

    Exceptions
    Type Condition
    ArgumentNullException

    sources is null.

    | Improve this Doc View Source

    Merge<TSource>(IEnumerable<IObservable<TSource>>, Int32)

    Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences.

    Declaration
    public static IObservable<TSource> Merge<TSource>(this IEnumerable<IObservable<TSource>> sources, int maxConcurrent)
    Parameters
    Type Name Description
    IEnumerable<IObservable<TSource>> sources

    Enumerable sequence of observable sequences.

    Int32 maxConcurrent

    Maximum number of observable sequences being subscribed to concurrently.

    Returns
    Type Description
    IObservable<TSource>

    The observable sequence that merges the elements of the observable sequences.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences.

    Exceptions
    Type Condition
    ArgumentNullException

    sources is null.

    ArgumentOutOfRangeException

    maxConcurrent is less than or equal to zero.

    | Improve this Doc View Source

    Merge<TSource>(IEnumerable<IObservable<TSource>>, Int32, IScheduler)

    Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences, and using the specified scheduler for enumeration of and subscription to the sources.

    Declaration
    public static IObservable<TSource> Merge<TSource>(this IEnumerable<IObservable<TSource>> sources, int maxConcurrent, IScheduler scheduler)
    Parameters
    Type Name Description
    IEnumerable<IObservable<TSource>> sources

    Enumerable sequence of observable sequences.

    Int32 maxConcurrent

    Maximum number of observable sequences being subscribed to concurrently.

    IScheduler scheduler

    Scheduler to run the enumeration of the sequence of sources on.

    Returns
    Type Description
    IObservable<TSource>

    The observable sequence that merges the elements of the observable sequences.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences.

    Exceptions
    Type Condition
    ArgumentNullException

    sources or scheduler is null.

    ArgumentOutOfRangeException

    maxConcurrent is less than or equal to zero.

    | Improve this Doc View Source

    Merge<TSource>(IEnumerable<IObservable<TSource>>, IScheduler)

    Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources.

    Declaration
    public static IObservable<TSource> Merge<TSource>(this IEnumerable<IObservable<TSource>> sources, IScheduler scheduler)
    Parameters
    Type Name Description
    IEnumerable<IObservable<TSource>> sources

    Enumerable sequence of observable sequences.

    IScheduler scheduler

    Scheduler to run the enumeration of the sequence of sources on.

    Returns
    Type Description
    IObservable<TSource>

    The observable sequence that merges the elements of the observable sequences.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences.

    Exceptions
    Type Condition
    ArgumentNullException

    sources or scheduler is null.

    | Improve this Doc View Source

    Merge<TSource>(IObservable<TSource>, IObservable<TSource>)

    Merges elements from two observable sequences into a single observable sequence.

    Declaration
    public static IObservable<TSource> Merge<TSource>(this IObservable<TSource> first, IObservable<TSource> second)
    Parameters
    Type Name Description
    IObservable<TSource> first

    First observable sequence.

    IObservable<TSource> second

    Second observable sequence.

    Returns
    Type Description
    IObservable<TSource>

    The observable sequence that merges the elements of the given sequences.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences.

    Exceptions
    Type Condition
    ArgumentNullException

    first or second is null.

    | Improve this Doc View Source

    Merge<TSource>(IObservable<TSource>, IObservable<TSource>, IScheduler)

    Merges elements from two observable sequences into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources.

    Declaration
    public static IObservable<TSource> Merge<TSource>(this IObservable<TSource> first, IObservable<TSource> second, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> first

    First observable sequence.

    IObservable<TSource> second

    Second observable sequence.

    IScheduler scheduler

    Scheduler used to introduce concurrency for making subscriptions to the given sequences.

    Returns
    Type Description
    IObservable<TSource>

    The observable sequence that merges the elements of the given sequences.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences.

    Exceptions
    Type Condition
    ArgumentNullException

    first or second or scheduler is null.

    | Improve this Doc View Source

    Merge<TSource>(IObservable<TSource>[])

    Merges elements from all of the specified observable sequences into a single observable sequence.

    Declaration
    public static IObservable<TSource> Merge<TSource>(params IObservable<TSource>[] sources)
    Parameters
    Type Name Description
    IObservable<TSource>[] sources

    Observable sequences.

    Returns
    Type Description
    IObservable<TSource>

    The observable sequence that merges the elements of the observable sequences.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences.

    Exceptions
    Type Condition
    ArgumentNullException

    sources is null.

    | Improve this Doc View Source

    Merge<TSource>(IObservable<IObservable<TSource>>)

    Merges elements from all inner observable sequences into a single observable sequence.

    Declaration
    public static IObservable<TSource> Merge<TSource>(this IObservable<IObservable<TSource>> sources)
    Parameters
    Type Name Description
    IObservable<IObservable<TSource>> sources

    Observable sequence of inner observable sequences.

    Returns
    Type Description
    IObservable<TSource>

    The observable sequence that merges the elements of the inner sequences.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences.

    Exceptions
    Type Condition
    ArgumentNullException

    sources is null.

    | Improve this Doc View Source

    Merge<TSource>(IObservable<IObservable<TSource>>, Int32)

    Merges elements from all inner observable sequences into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences.

    Declaration
    public static IObservable<TSource> Merge<TSource>(this IObservable<IObservable<TSource>> sources, int maxConcurrent)
    Parameters
    Type Name Description
    IObservable<IObservable<TSource>> sources

    Observable sequence of inner observable sequences.

    Int32 maxConcurrent

    Maximum number of inner observable sequences being subscribed to concurrently.

    Returns
    Type Description
    IObservable<TSource>

    The observable sequence that merges the elements of the inner sequences.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences.

    Exceptions
    Type Condition
    ArgumentNullException

    sources is null.

    ArgumentOutOfRangeException

    maxConcurrent is less than or equal to zero.

    | Improve this Doc View Source

    Merge<TSource>(IObservable<Task<TSource>>)

    Merges results from all source tasks into a single observable sequence.

    Declaration
    public static IObservable<TSource> Merge<TSource>(this IObservable<Task<TSource>> sources)
    Parameters
    Type Name Description
    IObservable<Task<TSource>> sources

    Observable sequence of tasks.

    Returns
    Type Description
    IObservable<TSource>

    The observable sequence that merges the results of the source tasks.

    Type Parameters
    Name Description
    TSource

    The type of the results produced by the source tasks.

    Remarks

    If the tasks support cancellation, consider manual conversion of the tasks using FromAsync<TResult>(Func<CancellationToken, Task<TResult>>), followed by a merge operation using Merge<TSource>(IObservable<IObservable<TSource>>).

    Exceptions
    Type Condition
    ArgumentNullException

    sources is null.

    | Improve this Doc View Source

    Merge<TSource>(IScheduler, IObservable<TSource>[])

    Merges elements from all of the specified observable sequences into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources.

    Declaration
    public static IObservable<TSource> Merge<TSource>(IScheduler scheduler, params IObservable<TSource>[] sources)
    Parameters
    Type Name Description
    IScheduler scheduler

    Scheduler to run the enumeration of the sequence of sources on.

    IObservable<TSource>[] sources

    Observable sequences.

    Returns
    Type Description
    IObservable<TSource>

    The observable sequence that merges the elements of the observable sequences.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences.

    Exceptions
    Type Condition
    ArgumentNullException

    scheduler or sources is null.

    | Improve this Doc View Source

    Min(IObservable<Decimal>)

    Returns the minimum value in an observable sequence of Decimal values.

    Declaration
    public static IObservable<decimal> Min(this IObservable<decimal> source)
    Parameters
    Type Name Description
    IObservable<Decimal> source

    A sequence of Decimal values to determine the minimum value of.

    Returns
    Type Description
    IObservable<Decimal>

    An observable sequence containing a single element with the minimum value in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Min(IObservable<Double>)

    Returns the minimum value in an observable sequence of Double values.

    Declaration
    public static IObservable<double> Min(this IObservable<double> source)
    Parameters
    Type Name Description
    IObservable<Double> source

    A sequence of Double values to determine the minimum value of.

    Returns
    Type Description
    IObservable<Double>

    An observable sequence containing a single element with the minimum value in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Min(IObservable<Int32>)

    Returns the minimum value in an observable sequence of Int32 values.

    Declaration
    public static IObservable<int> Min(this IObservable<int> source)
    Parameters
    Type Name Description
    IObservable<Int32> source

    A sequence of Int32 values to determine the minimum value of.

    Returns
    Type Description
    IObservable<Int32>

    An observable sequence containing a single element with the minimum value in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Min(IObservable<Int64>)

    Returns the minimum value in an observable sequence of Int64 values.

    Declaration
    public static IObservable<long> Min(this IObservable<long> source)
    Parameters
    Type Name Description
    IObservable<Int64> source

    A sequence of Int64 values to determine the minimum value of.

    Returns
    Type Description
    IObservable<Int64>

    An observable sequence containing a single element with the minimum value in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Min(IObservable<Nullable<Decimal>>)

    Returns the minimum value in an observable sequence of nullable Decimal values.

    Declaration
    public static IObservable<decimal?> Min(this IObservable<decimal?> source)
    Parameters
    Type Name Description
    IObservable<Nullable<Decimal>> source

    A sequence of nullable Decimal values to determine the minimum value of.

    Returns
    Type Description
    IObservable<Nullable<Decimal>>

    An observable sequence containing a single element with the minimum value in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Min(IObservable<Nullable<Double>>)

    Returns the minimum value in an observable sequence of nullable Double values.

    Declaration
    public static IObservable<double?> Min(this IObservable<double?> source)
    Parameters
    Type Name Description
    IObservable<Nullable<Double>> source

    A sequence of nullable Double values to determine the minimum value of.

    Returns
    Type Description
    IObservable<Nullable<Double>>

    An observable sequence containing a single element with the minimum value in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Min(IObservable<Nullable<Int32>>)

    Returns the minimum value in an observable sequence of nullable Int32 values.

    Declaration
    public static IObservable<int?> Min(this IObservable<int?> source)
    Parameters
    Type Name Description
    IObservable<Nullable<Int32>> source

    A sequence of nullable Int32 values to determine the minimum value of.

    Returns
    Type Description
    IObservable<Nullable<Int32>>

    An observable sequence containing a single element with the minimum value in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Min(IObservable<Nullable<Int64>>)

    Returns the minimum value in an observable sequence of nullable Int64 values.

    Declaration
    public static IObservable<long?> Min(this IObservable<long?> source)
    Parameters
    Type Name Description
    IObservable<Nullable<Int64>> source

    A sequence of nullable Int64 values to determine the minimum value of.

    Returns
    Type Description
    IObservable<Nullable<Int64>>

    An observable sequence containing a single element with the minimum value in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Min(IObservable<Nullable<Single>>)

    Returns the minimum value in an observable sequence of nullable Single values.

    Declaration
    public static IObservable<float?> Min(this IObservable<float?> source)
    Parameters
    Type Name Description
    IObservable<Nullable<Single>> source

    A sequence of nullable Single values to determine the minimum value of.

    Returns
    Type Description
    IObservable<Nullable<Single>>

    An observable sequence containing a single element with the minimum value in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Min(IObservable<Single>)

    Returns the minimum value in an observable sequence of Single values.

    Declaration
    public static IObservable<float> Min(this IObservable<float> source)
    Parameters
    Type Name Description
    IObservable<Single> source

    A sequence of Single values to determine the minimum value of.

    Returns
    Type Description
    IObservable<Single>

    An observable sequence containing a single element with the minimum value in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Min<TSource>(IObservable<TSource>)

    Returns the minimum element in an observable sequence.

    Declaration
    public static IObservable<TSource> Min<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to determine the mimimum element of.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence containing a single element with the minimum element in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Min<TSource>(IObservable<TSource>, IComparer<TSource>)

    Returns the minimum element in an observable sequence according to the specified comparer.

    Declaration
    public static IObservable<TSource> Min<TSource>(this IObservable<TSource> source, IComparer<TSource> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to determine the mimimum element of.

    IComparer<TSource> comparer

    Comparer used to compare elements.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence containing a single element with the minimum element in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or comparer is null.

    | Improve this Doc View Source

    Min<TSource>(IObservable<TSource>, Func<TSource, Decimal>)

    Invokes a transform function on each element of a sequence and returns the minimum Decimal value.

    Declaration
    public static IObservable<decimal> Min<TSource>(this IObservable<TSource> source, Func<TSource, decimal> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to determine the minimum value of.

    Func<TSource, Decimal> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Decimal>

    An observable sequence containing a single element with the value of type Decimal that corresponds to the minimum value in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Min<TSource>(IObservable<TSource>, Func<TSource, Double>)

    Invokes a transform function on each element of a sequence and returns the minimum Double value.

    Declaration
    public static IObservable<double> Min<TSource>(this IObservable<TSource> source, Func<TSource, double> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to determine the minimum value of.

    Func<TSource, Double> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Double>

    An observable sequence containing a single element with the value of type Double that corresponds to the minimum value in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Min<TSource>(IObservable<TSource>, Func<TSource, Int32>)

    Invokes a transform function on each element of a sequence and returns the minimum Int32 value.

    Declaration
    public static IObservable<int> Min<TSource>(this IObservable<TSource> source, Func<TSource, int> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to determine the minimum value of.

    Func<TSource, Int32> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Int32>

    An observable sequence containing a single element with the value of type Int32 that corresponds to the minimum value in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Min<TSource>(IObservable<TSource>, Func<TSource, Int64>)

    Invokes a transform function on each element of a sequence and returns the minimum Int64 value.

    Declaration
    public static IObservable<long> Min<TSource>(this IObservable<TSource> source, Func<TSource, long> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to determine the minimum value of.

    Func<TSource, Int64> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Int64>

    An observable sequence containing a single element with the value of type Int64 that corresponds to the minimum value in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Min<TSource>(IObservable<TSource>, Func<TSource, Nullable<Decimal>>)

    Invokes a transform function on each element of a sequence and returns the minimum nullable Decimal value.

    Declaration
    public static IObservable<decimal?> Min<TSource>(this IObservable<TSource> source, Func<TSource, decimal?> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to determine the minimum value of.

    Func<TSource, Nullable<Decimal>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Nullable<Decimal>>

    An observable sequence containing a single element with the value of type System.Nullable that corresponds to the minimum value in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Min<TSource>(IObservable<TSource>, Func<TSource, Nullable<Double>>)

    Invokes a transform function on each element of a sequence and returns the minimum nullable Double value.

    Declaration
    public static IObservable<double?> Min<TSource>(this IObservable<TSource> source, Func<TSource, double?> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to determine the minimum value of.

    Func<TSource, Nullable<Double>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Nullable<Double>>

    An observable sequence containing a single element with the value of type System.Nullable that corresponds to the minimum value in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Min<TSource>(IObservable<TSource>, Func<TSource, Nullable<Int32>>)

    Invokes a transform function on each element of a sequence and returns the minimum nullable Int32 value.

    Declaration
    public static IObservable<int?> Min<TSource>(this IObservable<TSource> source, Func<TSource, int?> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to determine the minimum value of.

    Func<TSource, Nullable<Int32>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Nullable<Int32>>

    An observable sequence containing a single element with the value of type System.Nullable that corresponds to the minimum value in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Min<TSource>(IObservable<TSource>, Func<TSource, Nullable<Int64>>)

    Invokes a transform function on each element of a sequence and returns the minimum nullable Int64 value.

    Declaration
    public static IObservable<long?> Min<TSource>(this IObservable<TSource> source, Func<TSource, long?> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to determine the minimum value of.

    Func<TSource, Nullable<Int64>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Nullable<Int64>>

    An observable sequence containing a single element with the value of type System.Nullable that corresponds to the minimum value in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Min<TSource>(IObservable<TSource>, Func<TSource, Nullable<Single>>)

    Invokes a transform function on each element of a sequence and returns the minimum nullable Single value.

    Declaration
    public static IObservable<float?> Min<TSource>(this IObservable<TSource> source, Func<TSource, float?> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to determine the minimum value of.

    Func<TSource, Nullable<Single>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Nullable<Single>>

    An observable sequence containing a single element with the value of type System.Nullable that corresponds to the minimum value in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Min<TSource>(IObservable<TSource>, Func<TSource, Single>)

    Invokes a transform function on each element of a sequence and returns the minimum Single value.

    Declaration
    public static IObservable<float> Min<TSource>(this IObservable<TSource> source, Func<TSource, float> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values to determine the minimum value of.

    Func<TSource, Single> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Single>

    An observable sequence containing a single element with the value of type Single that corresponds to the minimum value in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Min<TSource, TResult>(IObservable<TSource>, Func<TSource, TResult>)

    Invokes a transform function on each element of a sequence and returns the minimum value.

    Declaration
    public static IObservable<TResult> Min<TSource, TResult>(this IObservable<TSource> source, Func<TSource, TResult> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to determine the mimimum element of.

    Func<TSource, TResult> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing a single element with the value that corresponds to the minimum element in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the objects derived from the elements in the source sequence to determine the minimum of.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Min<TSource, TResult>(IObservable<TSource>, Func<TSource, TResult>, IComparer<TResult>)

    Invokes a transform function on each element of a sequence and returns the minimum value according to the specified comparer.

    Declaration
    public static IObservable<TResult> Min<TSource, TResult>(this IObservable<TSource> source, Func<TSource, TResult> selector, IComparer<TResult> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to determine the mimimum element of.

    Func<TSource, TResult> selector

    A transform function to apply to each element.

    IComparer<TResult> comparer

    Comparer used to compare elements.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing a single element with the value that corresponds to the minimum element in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the objects derived from the elements in the source sequence to determine the minimum of.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector or comparer is null.

    | Improve this Doc View Source

    MinBy<TSource, TKey>(IObservable<TSource>, Func<TSource, TKey>)

    Returns the elements in an observable sequence with the minimum key value.

    Declaration
    public static IObservable<IList<TSource>> MinBy<TSource, TKey>(this IObservable<TSource> source, Func<TSource, TKey> keySelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to get the minimum elements for.

    Func<TSource, TKey> keySelector

    Key selector function.

    Returns
    Type Description
    IObservable<IList<TSource>>

    An observable sequence containing a list of zero or more elements that have a minimum key value.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the key computed for each element in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector is null.

    | Improve this Doc View Source

    MinBy<TSource, TKey>(IObservable<TSource>, Func<TSource, TKey>, IComparer<TKey>)

    Returns the elements in an observable sequence with the minimum key value according to the specified comparer.

    Declaration
    public static IObservable<IList<TSource>> MinBy<TSource, TKey>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, IComparer<TKey> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to get the minimum elements for.

    Func<TSource, TKey> keySelector

    Key selector function.

    IComparer<TKey> comparer

    Comparer used to compare key values.

    Returns
    Type Description
    IObservable<IList<TSource>>

    An observable sequence containing a list of zero or more elements that have a minimum key value.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the key computed for each element in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or comparer is null.

    | Improve this Doc View Source

    MostRecent<TSource>(IObservable<TSource>, TSource)

    Returns an enumerable sequence whose enumeration returns the most recently observed element in the source observable sequence, using the specified initial value in case no element has been sampled yet. Enumerators on the resulting sequence never block and can produce the same element repeatedly.

    Declaration
    public static IEnumerable<TSource> MostRecent<TSource>(this IObservable<TSource> source, TSource initialValue)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    TSource initialValue

    Initial value that will be yielded by the enumerable sequence if no element has been sampled yet.

    Returns
    Type Description
    IEnumerable<TSource>

    The enumerable sequence that returns the last sampled element upon each iteration.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Multicast<TSource, TResult>(IObservable<TSource>, ISubject<TSource, TResult>)

    Multicasts the source sequence notifications through the specified subject to the resulting connectable observable. Upon connection of the connectable observable, the subject is subscribed to the source exactly one, and messages are forwarded to the observers registered with the connectable observable. For specializations with fixed subject types, see Publish, PublishLast, and Replay.

    Declaration
    public static IConnectableObservable<TResult> Multicast<TSource, TResult>(this IObservable<TSource> source, ISubject<TSource, TResult> subject)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence whose elements will be pushed into the specified subject.

    ISubject<TSource, TResult> subject

    Subject to push source elements into.

    Returns
    Type Description
    IConnectableObservable<TResult>

    A connectable observable sequence that upon connection causes the source sequence to push results into the specified subject.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the elements in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or subject is null.

    | Improve this Doc View Source

    Multicast<TSource, TIntermediate, TResult>(IObservable<TSource>, Func<ISubject<TSource, TIntermediate>>, Func<IObservable<TIntermediate>, IObservable<TResult>>)

    Multicasts the source sequence notifications through an instantiated subject into all uses of the sequence within a selector function. Each subscription to the resulting sequence causes a separate multicast invocation, exposing the sequence resulting from the selector function's invocation. For specializations with fixed subject types, see Publish, PublishLast, and Replay.

    Declaration
    public static IObservable<TResult> Multicast<TSource, TIntermediate, TResult>(this IObservable<TSource> source, Func<ISubject<TSource, TIntermediate>> subjectSelector, Func<IObservable<TIntermediate>, IObservable<TResult>> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence which will be multicasted in the specified selector function.

    Func<ISubject<TSource, TIntermediate>> subjectSelector

    Factory function to create an intermediate subject through which the source sequence's elements will be multicast to the selector function.

    Func<IObservable<TIntermediate>, IObservable<TResult>> selector

    Selector function which can use the multicasted source sequence subject to the policies enforced by the created subject.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TIntermediate

    The type of the elements produced by the intermediate subject.

    TResult

    The type of the elements in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or subjectSelector or selector is null.

    | Improve this Doc View Source

    Never<TResult>()

    Returns a non-terminating observable sequence, which can be used to denote an infinite duration (e.g. when using reactive joins).

    Declaration
    public static IObservable<TResult> Never<TResult>()
    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose observers will never get called.

    Type Parameters
    Name Description
    TResult

    The type used for the IObservable<T> type parameter of the resulting sequence.

    | Improve this Doc View Source

    Never<TResult>(TResult)

    Returns a non-terminating observable sequence, which can be used to denote an infinite duration (e.g. when using reactive joins).

    Declaration
    public static IObservable<TResult> Never<TResult>(TResult witness)
    Parameters
    Type Name Description
    TResult witness

    Object solely used to infer the type of the TResult type parameter. This parameter is typically used when creating a sequence of anonymously typed elements.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose observers will never get called.

    Type Parameters
    Name Description
    TResult

    The type used for the IObservable<T> type parameter of the resulting sequence.

    | Improve this Doc View Source

    Next<TSource>(IObservable<TSource>)

    Returns an enumerable sequence whose enumeration blocks until the next element in the source observable sequence becomes available. Enumerators on the resulting sequence will block until the next element becomes available.

    Declaration
    public static IEnumerable<TSource> Next<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Returns
    Type Description
    IEnumerable<TSource>

    The enumerable sequence that blocks upon each iteration until the next element in the observable source sequence becomes available.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    ObserveOn<TSource>(IObservable<TSource>, IScheduler)

    Wraps the source sequence in order to run its observer callbacks on the specified scheduler.

    Declaration
    public static IObservable<TSource> ObserveOn<TSource>(this IObservable<TSource> source, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    IScheduler scheduler

    Scheduler to notify observers on.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence whose observations happen on the specified scheduler.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This only invokes observer callbacks on a scheduler. In case the subscription and/or unsubscription actions have side-effects that require to be run on a scheduler, use SubscribeOn<TSource>(IObservable<TSource>, IScheduler).

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    | Improve this Doc View Source

    ObserveOn<TSource>(IObservable<TSource>, SynchronizationContext)

    Wraps the source sequence in order to run its observer callbacks on the specified synchronization context.

    Declaration
    public static IObservable<TSource> ObserveOn<TSource>(this IObservable<TSource> source, SynchronizationContext context)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    SynchronizationContext context

    Synchronization context to notify observers on.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence whose observations happen on the specified synchronization context.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This only invokes observer callbacks on a synchronization context. In case the subscription and/or unsubscription actions have side-effects that require to be run on a synchronization context, use SubscribeOn<TSource>(IObservable<TSource>, SynchronizationContext).

    Exceptions
    Type Condition
    ArgumentNullException

    source or context is null.

    | Improve this Doc View Source

    OfType<TResult>(IObservable<Object>)

    Filters the elements of an observable sequence based on the specified type.

    Declaration
    public static IObservable<TResult> OfType<TResult>(this IObservable<object> source)
    Parameters
    Type Name Description
    IObservable<Object> source

    The observable sequence that contains the elements to be filtered.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence that contains elements from the input sequence of type TResult.

    Type Parameters
    Name Description
    TResult

    The type to filter the elements in the source sequence on.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    OnErrorResumeNext<TSource>(IEnumerable<IObservable<TSource>>)

    Concatenates all observable sequences in the given enumerable sequence, even if the previous observable sequence terminated exceptionally.

    Declaration
    public static IObservable<TSource> OnErrorResumeNext<TSource>(this IEnumerable<IObservable<TSource>> sources)
    Parameters
    Type Name Description
    IEnumerable<IObservable<TSource>> sources

    Observable sequences to concatenate.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that concatenates the source sequences, even if a sequence terminates exceptionally.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences.

    Exceptions
    Type Condition
    ArgumentNullException

    sources is null.

    | Improve this Doc View Source

    OnErrorResumeNext<TSource>(IObservable<TSource>, IObservable<TSource>)

    Concatenates the second observable sequence to the first observable sequence upon successful or exceptional termination of the first.

    Declaration
    public static IObservable<TSource> OnErrorResumeNext<TSource>(this IObservable<TSource> first, IObservable<TSource> second)
    Parameters
    Type Name Description
    IObservable<TSource> first

    First observable sequence whose exception (if any) is caught.

    IObservable<TSource> second

    Second observable sequence used to produce results after the first sequence terminates.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that concatenates the first and second sequence, even if the first sequence terminates exceptionally.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences.

    Exceptions
    Type Condition
    ArgumentNullException

    first or second is null.

    | Improve this Doc View Source

    OnErrorResumeNext<TSource>(IObservable<TSource>[])

    Concatenates all of the specified observable sequences, even if the previous observable sequence terminated exceptionally.

    Declaration
    public static IObservable<TSource> OnErrorResumeNext<TSource>(params IObservable<TSource>[] sources)
    Parameters
    Type Name Description
    IObservable<TSource>[] sources

    Observable sequences to concatenate.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that concatenates the source sequences, even if a sequence terminates exceptionally.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences.

    Exceptions
    Type Condition
    ArgumentNullException

    sources is null.

    | Improve this Doc View Source

    Publish<TSource>(IObservable<TSource>)

    Returns a connectable observable sequence that shares a single subscription to the underlying sequence. This operator is a specialization of Multicast using a regular Subject<T>.

    Declaration
    public static IConnectableObservable<TSource> Publish<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence whose elements will be multicasted through a single shared subscription.

    Returns
    Type Description
    IConnectableObservable<TSource>

    A connectable observable sequence that shares a single subscription to the underlying sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    Subscribers will receive all notifications of the source from the time of the subscription on.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    See Also
    Subject<T>
    | Improve this Doc View Source

    Publish<TSource>(IObservable<TSource>, TSource)

    Returns a connectable observable sequence that shares a single subscription to the underlying sequence and starts with initialValue. This operator is a specialization of Multicast using a BehaviorSubject<T>.

    Declaration
    public static IConnectableObservable<TSource> Publish<TSource>(this IObservable<TSource> source, TSource initialValue)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence whose elements will be multicasted through a single shared subscription.

    TSource initialValue

    Initial value received by observers upon subscription.

    Returns
    Type Description
    IConnectableObservable<TSource>

    A connectable observable sequence that shares a single subscription to the underlying sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    Subscribers will receive immediately receive the initial value, followed by all notifications of the source from the time of the subscription on.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    See Also
    BehaviorSubject<T>
    | Improve this Doc View Source

    Publish<TSource, TResult>(IObservable<TSource>, Func<IObservable<TSource>, IObservable<TResult>>)

    Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence. This operator is a specialization of Multicast using a regular Subject<T>.

    Declaration
    public static IObservable<TResult> Publish<TSource, TResult>(this IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence whose elements will be multicasted through a single shared subscription.

    Func<IObservable<TSource>, IObservable<TResult>> selector

    Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all notifications of the source from the time of the subscription on.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the elements in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    See Also
    Subject<T>
    | Improve this Doc View Source

    Publish<TSource, TResult>(IObservable<TSource>, Func<IObservable<TSource>, IObservable<TResult>>, TSource)

    Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence and starts with initialValue. This operator is a specialization of Multicast using a BehaviorSubject<T>.

    Declaration
    public static IObservable<TResult> Publish<TSource, TResult>(this IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector, TSource initialValue)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence whose elements will be multicasted through a single shared subscription.

    Func<IObservable<TSource>, IObservable<TResult>> selector

    Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive immediately receive the initial value, followed by all notifications of the source from the time of the subscription on.

    TSource initialValue

    Initial value received by observers upon subscription.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the elements in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    See Also
    BehaviorSubject<T>
    | Improve this Doc View Source

    PublishLast<TSource>(IObservable<TSource>)

    Returns a connectable observable sequence that shares a single subscription to the underlying sequence containing only the last notification. This operator is a specialization of Multicast using a AsyncSubject<T>.

    Declaration
    public static IConnectableObservable<TSource> PublishLast<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence whose elements will be multicasted through a single shared subscription.

    Returns
    Type Description
    IConnectableObservable<TSource>

    A connectable observable sequence that shares a single subscription to the underlying sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    Subscribers will only receive the last notification of the source.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    See Also
    AsyncSubject<T>
    | Improve this Doc View Source

    PublishLast<TSource, TResult>(IObservable<TSource>, Func<IObservable<TSource>, IObservable<TResult>>)

    Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence containing only the last notification. This operator is a specialization of Multicast using a AsyncSubject<T>.

    Declaration
    public static IObservable<TResult> PublishLast<TSource, TResult>(this IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence whose elements will be multicasted through a single shared subscription.

    Func<IObservable<TSource>, IObservable<TResult>> selector

    Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will only receive the last notification of the source.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the elements in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    See Also
    AsyncSubject<T>
    | Improve this Doc View Source

    Range(Int32, Int32)

    Generates an observable sequence of integral numbers within a specified range.

    Declaration
    public static IObservable<int> Range(int start, int count)
    Parameters
    Type Name Description
    Int32 start

    The value of the first integer in the sequence.

    Int32 count

    The number of sequential integers to generate.

    Returns
    Type Description
    IObservable<Int32>

    An observable sequence that contains a range of sequential integral numbers.

    Exceptions
    Type Condition
    ArgumentOutOfRangeException

    count is less than zero. -or- start + count - 1 is larger than MaxValue.

    | Improve this Doc View Source

    Range(Int32, Int32, IScheduler)

    Generates an observable sequence of integral numbers within a specified range, using the specified scheduler to send out observer messages.

    Declaration
    public static IObservable<int> Range(int start, int count, IScheduler scheduler)
    Parameters
    Type Name Description
    Int32 start

    The value of the first integer in the sequence.

    Int32 count

    The number of sequential integers to generate.

    IScheduler scheduler

    Scheduler to run the generator loop on.

    Returns
    Type Description
    IObservable<Int32>

    An observable sequence that contains a range of sequential integral numbers.

    Exceptions
    Type Condition
    ArgumentOutOfRangeException

    count is less than zero. -or- start + count - 1 is larger than MaxValue.

    ArgumentNullException

    scheduler is null.

    | Improve this Doc View Source

    RefCount<TSource>(IConnectableObservable<TSource>)

    Returns an observable sequence that stays connected to the source as long as there is at least one subscription to the observable sequence.

    Declaration
    public static IObservable<TSource> RefCount<TSource>(this IConnectableObservable<TSource> source)
    Parameters
    Type Name Description
    IConnectableObservable<TSource> source

    Connectable observable sequence.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that stays connected to the source as long as there is at least one subscription to the observable sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Repeat<TResult>(TResult)

    Generates an observable sequence that repeats the given element infinitely.

    Declaration
    public static IObservable<TResult> Repeat<TResult>(TResult value)
    Parameters
    Type Name Description
    TResult value

    Element to repeat.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence that repeats the given element infinitely.

    Type Parameters
    Name Description
    TResult

    The type of the element that will be repeated in the produced sequence.

    | Improve this Doc View Source

    Repeat<TResult>(TResult, Int32)

    Generates an observable sequence that repeats the given element the specified number of times.

    Declaration
    public static IObservable<TResult> Repeat<TResult>(TResult value, int repeatCount)
    Parameters
    Type Name Description
    TResult value

    Element to repeat.

    Int32 repeatCount

    Number of times to repeat the element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence that repeats the given element the specified number of times.

    Type Parameters
    Name Description
    TResult

    The type of the element that will be repeated in the produced sequence.

    Exceptions
    Type Condition
    ArgumentOutOfRangeException

    repeatCount is less than zero.

    | Improve this Doc View Source

    Repeat<TResult>(TResult, Int32, IScheduler)

    Generates an observable sequence that repeats the given element the specified number of times, using the specified scheduler to send out observer messages.

    Declaration
    public static IObservable<TResult> Repeat<TResult>(TResult value, int repeatCount, IScheduler scheduler)
    Parameters
    Type Name Description
    TResult value

    Element to repeat.

    Int32 repeatCount

    Number of times to repeat the element.

    IScheduler scheduler

    Scheduler to run the producer loop on.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence that repeats the given element the specified number of times.

    Type Parameters
    Name Description
    TResult

    The type of the element that will be repeated in the produced sequence.

    Exceptions
    Type Condition
    ArgumentOutOfRangeException

    repeatCount is less than zero.

    ArgumentNullException

    scheduler is null.

    | Improve this Doc View Source

    Repeat<TResult>(TResult, IScheduler)

    Generates an observable sequence that repeats the given element infinitely, using the specified scheduler to send out observer messages.

    Declaration
    public static IObservable<TResult> Repeat<TResult>(TResult value, IScheduler scheduler)
    Parameters
    Type Name Description
    TResult value

    Element to repeat.

    IScheduler scheduler

    Scheduler to run the producer loop on.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence that repeats the given element infinitely.

    Type Parameters
    Name Description
    TResult

    The type of the element that will be repeated in the produced sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    scheduler is null.

    | Improve this Doc View Source

    Repeat<TSource>(IObservable<TSource>)

    Repeats the observable sequence indefinitely.

    Declaration
    public static IObservable<TSource> Repeat<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Observable sequence to repeat.

    Returns
    Type Description
    IObservable<TSource>

    The observable sequence producing the elements of the given sequence repeatedly and sequentially.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Repeat<TSource>(IObservable<TSource>, Int32)

    Repeats the observable sequence a specified number of times.

    Declaration
    public static IObservable<TSource> Repeat<TSource>(this IObservable<TSource> source, int repeatCount)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Observable sequence to repeat.

    Int32 repeatCount

    Number of times to repeat the sequence.

    Returns
    Type Description
    IObservable<TSource>

    The observable sequence producing the elements of the given sequence repeatedly.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    repeatCount is less than zero.

    | Improve this Doc View Source

    Replay<TSource>(IObservable<TSource>)

    Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. This operator is a specialization of Multicast using a ReplaySubject<T>.

    Declaration
    public static IConnectableObservable<TSource> Replay<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence whose elements will be multicasted through a single shared subscription.

    Returns
    Type Description
    IConnectableObservable<TSource>

    A connectable observable sequence that shares a single subscription to the underlying sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    Subscribers will receive all the notifications of the source.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    See Also
    ReplaySubject<T>
    | Improve this Doc View Source

    Replay<TSource>(IObservable<TSource>, Int32)

    Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. This operator is a specialization of Multicast using a ReplaySubject<T>.

    Declaration
    public static IConnectableObservable<TSource> Replay<TSource>(this IObservable<TSource> source, int bufferSize)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence whose elements will be multicasted through a single shared subscription.

    Int32 bufferSize

    Maximum element count of the replay buffer.

    Returns
    Type Description
    IConnectableObservable<TSource>

    A connectable observable sequence that shares a single subscription to the underlying sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    bufferSize is less than zero.

    See Also
    ReplaySubject<T>
    | Improve this Doc View Source

    Replay<TSource>(IObservable<TSource>, Int32, IScheduler)

    Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying bufferSize notifications. This operator is a specialization of Multicast using a ReplaySubject<T>.

    Declaration
    public static IConnectableObservable<TSource> Replay<TSource>(this IObservable<TSource> source, int bufferSize, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence whose elements will be multicasted through a single shared subscription.

    Int32 bufferSize

    Maximum element count of the replay buffer.

    IScheduler scheduler

    Scheduler where connected observers will be invoked on.

    Returns
    Type Description
    IConnectableObservable<TSource>

    A connectable observable sequence that shares a single subscription to the underlying sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    ArgumentOutOfRangeException

    bufferSize is less than zero.

    See Also
    ReplaySubject<T>
    | Improve this Doc View Source

    Replay<TSource>(IObservable<TSource>, Int32, TimeSpan)

    Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. This operator is a specialization of Multicast using a ReplaySubject<T>.

    Declaration
    public static IConnectableObservable<TSource> Replay<TSource>(this IObservable<TSource> source, int bufferSize, TimeSpan window)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence whose elements will be multicasted through a single shared subscription.

    Int32 bufferSize

    Maximum element count of the replay buffer.

    TimeSpan window

    Maximum time length of the replay buffer.

    Returns
    Type Description
    IConnectableObservable<TSource>

    A connectable observable sequence that shares a single subscription to the underlying sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    bufferSize is less than zero.

    ArgumentOutOfRangeException

    window is less than TimeSpan.Zero.

    See Also
    ReplaySubject<T>
    | Improve this Doc View Source

    Replay<TSource>(IObservable<TSource>, Int32, TimeSpan, IScheduler)

    Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. This operator is a specialization of Multicast using a ReplaySubject<T>.

    Declaration
    public static IConnectableObservable<TSource> Replay<TSource>(this IObservable<TSource> source, int bufferSize, TimeSpan window, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence whose elements will be multicasted through a single shared subscription.

    Int32 bufferSize

    Maximum element count of the replay buffer.

    TimeSpan window

    Maximum time length of the replay buffer.

    IScheduler scheduler

    Scheduler where connected observers will be invoked on.

    Returns
    Type Description
    IConnectableObservable<TSource>

    A connectable observable sequence that shares a single subscription to the underlying sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    ArgumentOutOfRangeException

    bufferSize is less than zero.

    ArgumentOutOfRangeException

    window is less than TimeSpan.Zero.

    See Also
    ReplaySubject<T>
    | Improve this Doc View Source

    Replay<TSource>(IObservable<TSource>, IScheduler)

    Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. This operator is a specialization of Multicast using a ReplaySubject<T>.

    Declaration
    public static IConnectableObservable<TSource> Replay<TSource>(this IObservable<TSource> source, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence whose elements will be multicasted through a single shared subscription.

    IScheduler scheduler

    Scheduler where connected observers will be invoked on.

    Returns
    Type Description
    IConnectableObservable<TSource>

    A connectable observable sequence that shares a single subscription to the underlying sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    Subscribers will receive all the notifications of the source.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    See Also
    ReplaySubject<T>
    | Improve this Doc View Source

    Replay<TSource>(IObservable<TSource>, TimeSpan)

    Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. This operator is a specialization of Multicast using a ReplaySubject<T>.

    Declaration
    public static IConnectableObservable<TSource> Replay<TSource>(this IObservable<TSource> source, TimeSpan window)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence whose elements will be multicasted through a single shared subscription.

    TimeSpan window

    Maximum time length of the replay buffer.

    Returns
    Type Description
    IConnectableObservable<TSource>

    A connectable observable sequence that shares a single subscription to the underlying sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    window is less than TimeSpan.Zero.

    See Also
    ReplaySubject<T>
    | Improve this Doc View Source

    Replay<TSource>(IObservable<TSource>, TimeSpan, IScheduler)

    Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. This operator is a specialization of Multicast using a ReplaySubject<T>.

    Declaration
    public static IConnectableObservable<TSource> Replay<TSource>(this IObservable<TSource> source, TimeSpan window, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence whose elements will be multicasted through a single shared subscription.

    TimeSpan window

    Maximum time length of the replay buffer.

    IScheduler scheduler

    Scheduler where connected observers will be invoked on.

    Returns
    Type Description
    IConnectableObservable<TSource>

    A connectable observable sequence that shares a single subscription to the underlying sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    ArgumentOutOfRangeException

    window is less than TimeSpan.Zero.

    See Also
    ReplaySubject<T>
    | Improve this Doc View Source

    Replay<TSource, TResult>(IObservable<TSource>, Func<IObservable<TSource>, IObservable<TResult>>)

    Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. This operator is a specialization of Multicast using a ReplaySubject<T>.

    Declaration
    public static IObservable<TResult> Replay<TSource, TResult>(this IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence whose elements will be multicasted through a single shared subscription.

    Func<IObservable<TSource>, IObservable<TResult>> selector

    Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the elements in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    See Also
    ReplaySubject<T>
    | Improve this Doc View Source

    Replay<TSource, TResult>(IObservable<TSource>, Func<IObservable<TSource>, IObservable<TResult>>, Int32)

    Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. This operator is a specialization of Multicast using a ReplaySubject<T>.

    Declaration
    public static IObservable<TResult> Replay<TSource, TResult>(this IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector, int bufferSize)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence whose elements will be multicasted through a single shared subscription.

    Func<IObservable<TSource>, IObservable<TResult>> selector

    Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy.

    Int32 bufferSize

    Maximum element count of the replay buffer.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the elements in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    ArgumentOutOfRangeException

    bufferSize is less than zero.

    See Also
    ReplaySubject<T>
    | Improve this Doc View Source

    Replay<TSource, TResult>(IObservable<TSource>, Func<IObservable<TSource>, IObservable<TResult>>, Int32, IScheduler)

    Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. This operator is a specialization of Multicast using a ReplaySubject<T>.

    Declaration
    public static IObservable<TResult> Replay<TSource, TResult>(this IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector, int bufferSize, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence whose elements will be multicasted through a single shared subscription.

    Func<IObservable<TSource>, IObservable<TResult>> selector

    Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy.

    Int32 bufferSize

    Maximum element count of the replay buffer.

    IScheduler scheduler

    Scheduler where connected observers within the selector function will be invoked on.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the elements in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector or scheduler is null.

    ArgumentOutOfRangeException

    bufferSize is less than zero.

    See Also
    ReplaySubject<T>
    | Improve this Doc View Source

    Replay<TSource, TResult>(IObservable<TSource>, Func<IObservable<TSource>, IObservable<TResult>>, Int32, TimeSpan)

    Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. This operator is a specialization of Multicast using a ReplaySubject<T>.

    Declaration
    public static IObservable<TResult> Replay<TSource, TResult>(this IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector, int bufferSize, TimeSpan window)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence whose elements will be multicasted through a single shared subscription.

    Func<IObservable<TSource>, IObservable<TResult>> selector

    Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy.

    Int32 bufferSize

    Maximum element count of the replay buffer.

    TimeSpan window

    Maximum time length of the replay buffer.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the elements in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    ArgumentOutOfRangeException

    bufferSize is less than zero.

    ArgumentOutOfRangeException

    window is less than TimeSpan.Zero.

    See Also
    ReplaySubject<T>
    | Improve this Doc View Source

    Replay<TSource, TResult>(IObservable<TSource>, Func<IObservable<TSource>, IObservable<TResult>>, Int32, TimeSpan, IScheduler)

    Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. This operator is a specialization of Multicast using a ReplaySubject<T>.

    Declaration
    public static IObservable<TResult> Replay<TSource, TResult>(this IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector, int bufferSize, TimeSpan window, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence whose elements will be multicasted through a single shared subscription.

    Func<IObservable<TSource>, IObservable<TResult>> selector

    Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy.

    Int32 bufferSize

    Maximum element count of the replay buffer.

    TimeSpan window

    Maximum time length of the replay buffer.

    IScheduler scheduler

    Scheduler where connected observers within the selector function will be invoked on.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the elements in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector or scheduler is null.

    ArgumentOutOfRangeException

    bufferSize is less than zero.

    ArgumentOutOfRangeException

    window is less than TimeSpan.Zero.

    See Also
    ReplaySubject<T>
    | Improve this Doc View Source

    Replay<TSource, TResult>(IObservable<TSource>, Func<IObservable<TSource>, IObservable<TResult>>, IScheduler)

    Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. This operator is a specialization of Multicast using a ReplaySubject<T>.

    Declaration
    public static IObservable<TResult> Replay<TSource, TResult>(this IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence whose elements will be multicasted through a single shared subscription.

    Func<IObservable<TSource>, IObservable<TResult>> selector

    Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source.

    IScheduler scheduler

    Scheduler where connected observers within the selector function will be invoked on.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the elements in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector or scheduler is null.

    See Also
    ReplaySubject<T>
    | Improve this Doc View Source

    Replay<TSource, TResult>(IObservable<TSource>, Func<IObservable<TSource>, IObservable<TResult>>, TimeSpan)

    Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. This operator is a specialization of Multicast using a ReplaySubject<T>.

    Declaration
    public static IObservable<TResult> Replay<TSource, TResult>(this IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector, TimeSpan window)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence whose elements will be multicasted through a single shared subscription.

    Func<IObservable<TSource>, IObservable<TResult>> selector

    Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy.

    TimeSpan window

    Maximum time length of the replay buffer.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the elements in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    ArgumentOutOfRangeException

    window is less than TimeSpan.Zero.

    See Also
    ReplaySubject<T>
    | Improve this Doc View Source

    Replay<TSource, TResult>(IObservable<TSource>, Func<IObservable<TSource>, IObservable<TResult>>, TimeSpan, IScheduler)

    Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. This operator is a specialization of Multicast using a ReplaySubject<T>.

    Declaration
    public static IObservable<TResult> Replay<TSource, TResult>(this IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector, TimeSpan window, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence whose elements will be multicasted through a single shared subscription.

    Func<IObservable<TSource>, IObservable<TResult>> selector

    Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy.

    TimeSpan window

    Maximum time length of the replay buffer.

    IScheduler scheduler

    Scheduler where connected observers within the selector function will be invoked on.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the elements in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector or scheduler is null.

    ArgumentOutOfRangeException

    window is less than TimeSpan.Zero.

    See Also
    ReplaySubject<T>
    | Improve this Doc View Source

    Retry<TSource>(IObservable<TSource>)

    Repeats the source observable sequence until it successfully terminates.

    Declaration
    public static IObservable<TSource> Retry<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Observable sequence to repeat until it successfully terminates.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Retry<TSource>(IObservable<TSource>, Int32)

    Repeats the source observable sequence the specified number of times or until it successfully terminates.

    Declaration
    public static IObservable<TSource> Retry<TSource>(this IObservable<TSource> source, int retryCount)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Observable sequence to repeat until it successfully terminates.

    Int32 retryCount

    Number of times to repeat the sequence.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    retryCount is less than zero.

    | Improve this Doc View Source

    Return<TResult>(TResult)

    Returns an observable sequence that contains a single element.

    Declaration
    public static IObservable<TResult> Return<TResult>(TResult value)
    Parameters
    Type Name Description
    TResult value

    Single element in the resulting observable sequence.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the single specified element.

    Type Parameters
    Name Description
    TResult

    The type of the element that will be returned in the produced sequence.

    | Improve this Doc View Source

    Return<TResult>(TResult, IScheduler)

    Returns an observable sequence that contains a single element, using the specified scheduler to send out observer messages.

    Declaration
    public static IObservable<TResult> Return<TResult>(TResult value, IScheduler scheduler)
    Parameters
    Type Name Description
    TResult value

    Single element in the resulting observable sequence.

    IScheduler scheduler

    Scheduler to send the single element on.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the single specified element.

    Type Parameters
    Name Description
    TResult

    The type of the element that will be returned in the produced sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    scheduler is null.

    | Improve this Doc View Source

    Sample<TSource>(IObservable<TSource>, TimeSpan)

    Samples the observable sequence at each interval. Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence.

    Declaration
    public static IObservable<TSource> Sample<TSource>(this IObservable<TSource> source, TimeSpan interval)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to sample.

    TimeSpan interval

    Interval at which to sample. If this value is equal to TimeSpan.Zero, the scheduler will continuously sample the stream.

    Returns
    Type Description
    IObservable<TSource>

    Sampled observable sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    Specifying a TimeSpan.Zero value for interval doesn't guarantee all source sequence elements will be preserved. This is a side-effect of the asynchrony introduced by the scheduler, where the sampling action may not execute immediately, despite the TimeSpan.Zero due time.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    interval is less than TimeSpan.Zero.

    | Improve this Doc View Source

    Sample<TSource>(IObservable<TSource>, TimeSpan, IScheduler)

    Samples the observable sequence at each interval, using the specified scheduler to run sampling timers. Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence.

    Declaration
    public static IObservable<TSource> Sample<TSource>(this IObservable<TSource> source, TimeSpan interval, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to sample.

    TimeSpan interval

    Interval at which to sample. If this value is equal to TimeSpan.Zero, the scheduler will continuously sample the stream.

    IScheduler scheduler

    Scheduler to run the sampling timer on.

    Returns
    Type Description
    IObservable<TSource>

    Sampled observable sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    Specifying a TimeSpan.Zero value for interval doesn't guarantee all source sequence elements will be preserved. This is a side-effect of the asynchrony introduced by the scheduler, where the sampling action may not execute immediately, despite the TimeSpan.Zero due time.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    ArgumentOutOfRangeException

    interval is less than TimeSpan.Zero.

    | Improve this Doc View Source

    Sample<TSource, TSample>(IObservable<TSource>, IObservable<TSample>)

    Samples the source observable sequence using a samper observable sequence producing sampling ticks. Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence.

    Declaration
    public static IObservable<TSource> Sample<TSource, TSample>(this IObservable<TSource> source, IObservable<TSample> sampler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to sample.

    IObservable<TSample> sampler

    Sampling tick sequence.

    Returns
    Type Description
    IObservable<TSource>

    Sampled observable sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TSample

    The type of the elements in the sampling sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or sampler is null.

    | Improve this Doc View Source

    Scan<TSource>(IObservable<TSource>, Func<TSource, TSource, TSource>)

    Applies an accumulator function over an observable sequence and returns each intermediate result. For aggregation behavior with no intermediate results, see Aggregate<TSource>(IObservable<TSource>, Func<TSource, TSource, TSource>).

    Declaration
    public static IObservable<TSource> Scan<TSource>(this IObservable<TSource> source, Func<TSource, TSource, TSource> accumulator)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to accumulate over.

    Func<TSource, TSource, TSource> accumulator

    An accumulator function to be invoked on each element.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence containing the accumulated values.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence and the result of the aggregation.

    Exceptions
    Type Condition
    ArgumentNullException

    source or accumulator is null.

    | Improve this Doc View Source

    Scan<TSource, TAccumulate>(IObservable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>)

    Applies an accumulator function over an observable sequence and returns each intermediate result. The specified seed value is used as the initial accumulator value. For aggregation behavior with no intermediate results, see Aggregate<TSource, TAccumulate>(IObservable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>).

    Declaration
    public static IObservable<TAccumulate> Scan<TSource, TAccumulate>(this IObservable<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> accumulator)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to accumulate over.

    TAccumulate seed

    The initial accumulator value.

    Func<TAccumulate, TSource, TAccumulate> accumulator

    An accumulator function to be invoked on each element.

    Returns
    Type Description
    IObservable<TAccumulate>

    An observable sequence containing the accumulated values.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TAccumulate

    The type of the result of the aggregation.

    Exceptions
    Type Condition
    ArgumentNullException

    source or accumulator is null.

    | Improve this Doc View Source

    Select<TSource, TResult>(IObservable<TSource>, Func<TSource, TResult>)

    Projects each element of an observable sequence into a new form.

    Declaration
    public static IObservable<TResult> Select<TSource, TResult>(this IObservable<TSource> source, Func<TSource, TResult> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of elements to invoke a transform function on.

    Func<TSource, TResult> selector

    A transform function to apply to each source element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose elements are the result of invoking the transform function on each element of source.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the elements in the result sequence, obtained by running the selector function for each element in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Select<TSource, TResult>(IObservable<TSource>, Func<TSource, Int32, TResult>)

    Projects each element of an observable sequence into a new form by incorporating the element's index.

    Declaration
    public static IObservable<TResult> Select<TSource, TResult>(this IObservable<TSource> source, Func<TSource, int, TResult> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of elements to invoke a transform function on.

    Func<TSource, Int32, TResult> selector

    A transform function to apply to each source element; the second parameter of the function represents the index of the source element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose elements are the result of invoking the transform function on each element of source.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the elements in the result sequence, obtained by running the selector function for each element in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    SelectMany<TSource, TResult>(IObservable<TSource>, Func<TSource, IEnumerable<TResult>>)

    Projects each element of an observable sequence to an enumerable sequence and concatenates the resulting enumerable sequences into one observable sequence.

    Declaration
    public static IObservable<TResult> SelectMany<TSource, TResult>(this IObservable<TSource> source, Func<TSource, IEnumerable<TResult>> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence of elements to project.

    Func<TSource, IEnumerable<TResult>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence.

    Remarks

    The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the ToObservable<TSource>(IEnumerable<TSource>) conversion.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    SelectMany<TSource, TResult>(IObservable<TSource>, Func<TSource, Int32, IEnumerable<TResult>>)

    Projects each element of an observable sequence to an enumerable sequence by incorporating the element's index and concatenates the resulting enumerable sequences into one observable sequence.

    Declaration
    public static IObservable<TResult> SelectMany<TSource, TResult>(this IObservable<TSource> source, Func<TSource, int, IEnumerable<TResult>> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence of elements to project.

    Func<TSource, Int32, IEnumerable<TResult>> selector

    A transform function to apply to each element; the second parameter of the function represents the index of the source element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence.

    Remarks

    The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the ToObservable<TSource>(IEnumerable<TSource>) conversion.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    SelectMany<TSource, TResult>(IObservable<TSource>, Func<TSource, Int32, IObservable<TResult>>)

    Projects each element of an observable sequence to an observable sequence by incorporating the element's index and merges the resulting observable sequences into one observable sequence.

    Declaration
    public static IObservable<TResult> SelectMany<TSource, TResult>(this IObservable<TSource> source, Func<TSource, int, IObservable<TResult>> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence of elements to project.

    Func<TSource, Int32, IObservable<TResult>> selector

    A transform function to apply to each element; the second parameter of the function represents the index of the source element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the elements in the projected inner sequences and the elements in the merged result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    SelectMany<TSource, TResult>(IObservable<TSource>, Func<TSource, Int32, IObservable<TResult>>, Func<Exception, IObservable<TResult>>, Func<IObservable<TResult>>)

    Projects each notification of an observable sequence to an observable sequence by incorporating the element's index and merges the resulting observable sequences into one observable sequence.

    Declaration
    public static IObservable<TResult> SelectMany<TSource, TResult>(this IObservable<TSource> source, Func<TSource, int, IObservable<TResult>> onNext, Func<Exception, IObservable<TResult>> onError, Func<IObservable<TResult>> onCompleted)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence of notifications to project.

    Func<TSource, Int32, IObservable<TResult>> onNext

    A transform function to apply to each element; the second parameter of the function represents the index of the source element.

    Func<Exception, IObservable<TResult>> onError

    A transform function to apply when an error occurs in the source sequence.

    Func<IObservable<TResult>> onCompleted

    A transform function to apply when the end of the source sequence is reached.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the elements in the projected inner sequences and the elements in the merged result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or onNext or onError or onCompleted is null.

    | Improve this Doc View Source

    SelectMany<TSource, TResult>(IObservable<TSource>, Func<TSource, Int32, CancellationToken, Task<TResult>>)

    Projects each element of an observable sequence to a task by incorporating the element's index with cancellation support and merges all of the task results into one observable sequence.

    Declaration
    public static IObservable<TResult> SelectMany<TSource, TResult>(this IObservable<TSource> source, Func<TSource, int, CancellationToken, Task<TResult>> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence of elements to project.

    Func<TSource, Int32, CancellationToken, Task<TResult>> selector

    A transform function to apply to each element; the second parameter of the function represents the index of the source element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose elements are the result of the tasks executed for each element of the input sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the result produced by the projected tasks and the elements in the merged result sequence.

    Remarks

    This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using ToObservable<TResult>(Task<TResult>).

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    SelectMany<TSource, TResult>(IObservable<TSource>, Func<TSource, Int32, Task<TResult>>)

    Projects each element of an observable sequence to a task by incorporating the element's index and merges all of the task results into one observable sequence.

    Declaration
    public static IObservable<TResult> SelectMany<TSource, TResult>(this IObservable<TSource> source, Func<TSource, int, Task<TResult>> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence of elements to project.

    Func<TSource, Int32, Task<TResult>> selector

    A transform function to apply to each element; the second parameter of the function represents the index of the source element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose elements are the result of the tasks executed for each element of the input sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the result produced by the projected tasks and the elements in the merged result sequence.

    Remarks

    This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using ToObservable<TResult>(Task<TResult>).

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    SelectMany<TSource, TResult>(IObservable<TSource>, Func<TSource, IObservable<TResult>>)

    Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence.

    Declaration
    public static IObservable<TResult> SelectMany<TSource, TResult>(this IObservable<TSource> source, Func<TSource, IObservable<TResult>> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence of elements to project.

    Func<TSource, IObservable<TResult>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the elements in the projected inner sequences and the elements in the merged result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    SelectMany<TSource, TResult>(IObservable<TSource>, Func<TSource, IObservable<TResult>>, Func<Exception, IObservable<TResult>>, Func<IObservable<TResult>>)

    Projects each notification of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence.

    Declaration
    public static IObservable<TResult> SelectMany<TSource, TResult>(this IObservable<TSource> source, Func<TSource, IObservable<TResult>> onNext, Func<Exception, IObservable<TResult>> onError, Func<IObservable<TResult>> onCompleted)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence of notifications to project.

    Func<TSource, IObservable<TResult>> onNext

    A transform function to apply to each element.

    Func<Exception, IObservable<TResult>> onError

    A transform function to apply when an error occurs in the source sequence.

    Func<IObservable<TResult>> onCompleted

    A transform function to apply when the end of the source sequence is reached.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the elements in the projected inner sequences and the elements in the merged result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or onNext or onError or onCompleted is null.

    | Improve this Doc View Source

    SelectMany<TSource, TResult>(IObservable<TSource>, Func<TSource, CancellationToken, Task<TResult>>)

    Projects each element of an observable sequence to a task with cancellation support and merges all of the task results into one observable sequence.

    Declaration
    public static IObservable<TResult> SelectMany<TSource, TResult>(this IObservable<TSource> source, Func<TSource, CancellationToken, Task<TResult>> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence of elements to project.

    Func<TSource, CancellationToken, Task<TResult>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose elements are the result of the tasks executed for each element of the input sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the result produced by the projected tasks and the elements in the merged result sequence.

    Remarks

    This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using ToObservable<TResult>(Task<TResult>).

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    SelectMany<TSource, TResult>(IObservable<TSource>, Func<TSource, Task<TResult>>)

    Projects each element of an observable sequence to a task and merges all of the task results into one observable sequence.

    Declaration
    public static IObservable<TResult> SelectMany<TSource, TResult>(this IObservable<TSource> source, Func<TSource, Task<TResult>> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence of elements to project.

    Func<TSource, Task<TResult>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose elements are the result of the tasks executed for each element of the input sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the result produced by the projected tasks and the elements in the merged result sequence.

    Remarks

    This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using ToObservable<TResult>(Task<TResult>).

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    SelectMany<TSource, TOther>(IObservable<TSource>, IObservable<TOther>)

    Projects each element of the source observable sequence to the other observable sequence and merges the resulting observable sequences into one observable sequence.

    Declaration
    public static IObservable<TOther> SelectMany<TSource, TOther>(this IObservable<TSource> source, IObservable<TOther> other)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence of elements to project.

    IObservable<TOther> other

    An observable sequence to project each element from the source sequence onto.

    Returns
    Type Description
    IObservable<TOther>

    An observable sequence whose elements are the result of projecting each source element onto the other sequence and merging all the resulting sequences together.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TOther

    The type of the elements in the other sequence and the elements in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or other is null.

    | Improve this Doc View Source

    SelectMany<TSource, TCollection, TResult>(IObservable<TSource>, Func<TSource, IEnumerable<TCollection>>, Func<TSource, TCollection, TResult>)

    Projects each element of an observable sequence to an enumerable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.

    Declaration
    public static IObservable<TResult> SelectMany<TSource, TCollection, TResult>(this IObservable<TSource> source, Func<TSource, IEnumerable<TCollection>> collectionSelector, Func<TSource, TCollection, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence of elements to project.

    Func<TSource, IEnumerable<TCollection>> collectionSelector

    A transform function to apply to each element.

    Func<TSource, TCollection, TResult> resultSelector

    A transform function to apply to each element of the intermediate sequence.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TCollection

    The type of the elements in the projected intermediate enumerable sequences.

    TResult

    The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements.

    Remarks

    The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the ToObservable<TSource>(IEnumerable<TSource>) conversion.

    Exceptions
    Type Condition
    ArgumentNullException

    source or collectionSelector or resultSelector is null.

    | Improve this Doc View Source

    SelectMany<TSource, TCollection, TResult>(IObservable<TSource>, Func<TSource, Int32, IEnumerable<TCollection>>, Func<TSource, Int32, TCollection, Int32, TResult>)

    Projects each element of an observable sequence to an enumerable sequence by incorporating the element's index, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.

    Declaration
    public static IObservable<TResult> SelectMany<TSource, TCollection, TResult>(this IObservable<TSource> source, Func<TSource, int, IEnumerable<TCollection>> collectionSelector, Func<TSource, int, TCollection, int, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence of elements to project.

    Func<TSource, Int32, IEnumerable<TCollection>> collectionSelector

    A transform function to apply to each element; the second parameter of the function represents the index of the source element.

    Func<TSource, Int32, TCollection, Int32, TResult> resultSelector

    A transform function to apply to each element of the intermediate sequence; the second parameter of the function represents the index of the source element and the fourth parameter represents the index of the intermediate element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TCollection

    The type of the elements in the projected intermediate enumerable sequences.

    TResult

    The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements.

    Remarks

    The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the ToObservable<TSource>(IEnumerable<TSource>) conversion.

    Exceptions
    Type Condition
    ArgumentNullException

    source or collectionSelector or resultSelector is null.

    | Improve this Doc View Source

    SelectMany<TSource, TCollection, TResult>(IObservable<TSource>, Func<TSource, Int32, IObservable<TCollection>>, Func<TSource, Int32, TCollection, Int32, TResult>)

    Projects each element of an observable sequence to an observable sequence by incorporating the element's index, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.

    Declaration
    public static IObservable<TResult> SelectMany<TSource, TCollection, TResult>(this IObservable<TSource> source, Func<TSource, int, IObservable<TCollection>> collectionSelector, Func<TSource, int, TCollection, int, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence of elements to project.

    Func<TSource, Int32, IObservable<TCollection>> collectionSelector

    A transform function to apply to each element; the second parameter of the function represents the index of the source element.

    Func<TSource, Int32, TCollection, Int32, TResult> resultSelector

    A transform function to apply to each element of the intermediate sequence; the second parameter of the function represents the index of the source element and the fourth parameter represents the index of the intermediate element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TCollection

    The type of the elements in the projected intermediate sequences.

    TResult

    The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements.

    Exceptions
    Type Condition
    ArgumentNullException

    source or collectionSelector or resultSelector is null.

    | Improve this Doc View Source

    SelectMany<TSource, TTaskResult, TResult>(IObservable<TSource>, Func<TSource, Int32, CancellationToken, Task<TTaskResult>>, Func<TSource, Int32, TTaskResult, TResult>)

    Projects each element of an observable sequence to a task by incorporating the element's index with cancellation support, invokes the result selector for the source element and the task result, and merges the results into one observable sequence.

    Declaration
    public static IObservable<TResult> SelectMany<TSource, TTaskResult, TResult>(this IObservable<TSource> source, Func<TSource, int, CancellationToken, Task<TTaskResult>> taskSelector, Func<TSource, int, TTaskResult, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence of elements to project.

    Func<TSource, Int32, CancellationToken, Task<TTaskResult>> taskSelector

    A transform function to apply to each element; the second parameter of the function represents the index of the source element.

    Func<TSource, Int32, TTaskResult, TResult> resultSelector

    A transform function to apply to each element of the intermediate sequence; the second parameter of the function represents the index of the source element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TTaskResult

    The type of the results produced by the projected intermediate tasks.

    TResult

    The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results.

    Remarks

    This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using ToObservable<TResult>(Task<TResult>).

    Exceptions
    Type Condition
    ArgumentNullException

    source or taskSelector or resultSelector is null.

    | Improve this Doc View Source

    SelectMany<TSource, TTaskResult, TResult>(IObservable<TSource>, Func<TSource, Int32, Task<TTaskResult>>, Func<TSource, Int32, TTaskResult, TResult>)

    Projects each element of an observable sequence to a task by incorporating the element's index, invokes the result selector for the source element and the task result, and merges the results into one observable sequence.

    Declaration
    public static IObservable<TResult> SelectMany<TSource, TTaskResult, TResult>(this IObservable<TSource> source, Func<TSource, int, Task<TTaskResult>> taskSelector, Func<TSource, int, TTaskResult, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence of elements to project.

    Func<TSource, Int32, Task<TTaskResult>> taskSelector

    A transform function to apply to each element; the second parameter of the function represents the index of the source element.

    Func<TSource, Int32, TTaskResult, TResult> resultSelector

    A transform function to apply to each element of the intermediate sequence; the second parameter of the function represents the index of the source element.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TTaskResult

    The type of the results produced by the projected intermediate tasks.

    TResult

    The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results.

    Remarks

    This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using ToObservable<TResult>(Task<TResult>).

    Exceptions
    Type Condition
    ArgumentNullException

    source or taskSelector or resultSelector is null.

    | Improve this Doc View Source

    SelectMany<TSource, TCollection, TResult>(IObservable<TSource>, Func<TSource, IObservable<TCollection>>, Func<TSource, TCollection, TResult>)

    Projects each element of an observable sequence to an observable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.

    Declaration
    public static IObservable<TResult> SelectMany<TSource, TCollection, TResult>(this IObservable<TSource> source, Func<TSource, IObservable<TCollection>> collectionSelector, Func<TSource, TCollection, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence of elements to project.

    Func<TSource, IObservable<TCollection>> collectionSelector

    A transform function to apply to each element.

    Func<TSource, TCollection, TResult> resultSelector

    A transform function to apply to each element of the intermediate sequence.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TCollection

    The type of the elements in the projected intermediate sequences.

    TResult

    The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements.

    Exceptions
    Type Condition
    ArgumentNullException

    source or collectionSelector or resultSelector is null.

    | Improve this Doc View Source

    SelectMany<TSource, TTaskResult, TResult>(IObservable<TSource>, Func<TSource, CancellationToken, Task<TTaskResult>>, Func<TSource, TTaskResult, TResult>)

    Projects each element of an observable sequence to a task with cancellation support, invokes the result selector for the source element and the task result, and merges the results into one observable sequence.

    Declaration
    public static IObservable<TResult> SelectMany<TSource, TTaskResult, TResult>(this IObservable<TSource> source, Func<TSource, CancellationToken, Task<TTaskResult>> taskSelector, Func<TSource, TTaskResult, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence of elements to project.

    Func<TSource, CancellationToken, Task<TTaskResult>> taskSelector

    A transform function to apply to each element.

    Func<TSource, TTaskResult, TResult> resultSelector

    A transform function to apply to each element of the intermediate sequence.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TTaskResult

    The type of the results produced by the projected intermediate tasks.

    TResult

    The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results.

    Remarks

    This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using ToObservable<TResult>(Task<TResult>).

    Exceptions
    Type Condition
    ArgumentNullException

    source or taskSelector or resultSelector is null.

    | Improve this Doc View Source

    SelectMany<TSource, TTaskResult, TResult>(IObservable<TSource>, Func<TSource, Task<TTaskResult>>, Func<TSource, TTaskResult, TResult>)

    Projects each element of an observable sequence to a task, invokes the result selector for the source element and the task result, and merges the results into one observable sequence.

    Declaration
    public static IObservable<TResult> SelectMany<TSource, TTaskResult, TResult>(this IObservable<TSource> source, Func<TSource, Task<TTaskResult>> taskSelector, Func<TSource, TTaskResult, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence of elements to project.

    Func<TSource, Task<TTaskResult>> taskSelector

    A transform function to apply to each element.

    Func<TSource, TTaskResult, TResult> resultSelector

    A transform function to apply to each element of the intermediate sequence.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TTaskResult

    The type of the results produced by the projected intermediate tasks.

    TResult

    The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results.

    Remarks

    This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using ToObservable<TResult>(Task<TResult>).

    Exceptions
    Type Condition
    ArgumentNullException

    source or taskSelector or resultSelector is null.

    | Improve this Doc View Source

    SequenceEqual<TSource>(IObservable<TSource>, IEnumerable<TSource>)

    Determines whether an observable and enumerable sequence are equal by comparing the elements pairwise.

    Declaration
    public static IObservable<bool> SequenceEqual<TSource>(this IObservable<TSource> first, IEnumerable<TSource> second)
    Parameters
    Type Name Description
    IObservable<TSource> first

    First observable sequence to compare.

    IEnumerable<TSource> second

    Second observable sequence to compare.

    Returns
    Type Description
    IObservable<Boolean>

    An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the default equality comparer for their type.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    first or second is null.

    | Improve this Doc View Source

    SequenceEqual<TSource>(IObservable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

    Determines whether an observable and enumerable sequence are equal by comparing the elements pairwise using a specified equality comparer.

    Declaration
    public static IObservable<bool> SequenceEqual<TSource>(this IObservable<TSource> first, IEnumerable<TSource> second, IEqualityComparer<TSource> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> first

    First observable sequence to compare.

    IEnumerable<TSource> second

    Second observable sequence to compare.

    IEqualityComparer<TSource> comparer

    Comparer used to compare elements of both sequences.

    Returns
    Type Description
    IObservable<Boolean>

    An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the specified equality comparer.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    first or second or comparer is null.

    | Improve this Doc View Source

    SequenceEqual<TSource>(IObservable<TSource>, IObservable<TSource>)

    Determines whether two sequences are equal by comparing the elements pairwise.

    Declaration
    public static IObservable<bool> SequenceEqual<TSource>(this IObservable<TSource> first, IObservable<TSource> second)
    Parameters
    Type Name Description
    IObservable<TSource> first

    First observable sequence to compare.

    IObservable<TSource> second

    Second observable sequence to compare.

    Returns
    Type Description
    IObservable<Boolean>

    An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the default equality comparer for their type.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    first or second is null.

    | Improve this Doc View Source

    SequenceEqual<TSource>(IObservable<TSource>, IObservable<TSource>, IEqualityComparer<TSource>)

    Determines whether two sequences are equal by comparing the elements pairwise using a specified equality comparer.

    Declaration
    public static IObservable<bool> SequenceEqual<TSource>(this IObservable<TSource> first, IObservable<TSource> second, IEqualityComparer<TSource> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> first

    First observable sequence to compare.

    IObservable<TSource> second

    Second observable sequence to compare.

    IEqualityComparer<TSource> comparer

    Comparer used to compare elements of both sequences.

    Returns
    Type Description
    IObservable<Boolean>

    An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the specified equality comparer.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    first or second or comparer is null.

    | Improve this Doc View Source

    Single<TSource>(IObservable<TSource>)

    Returns the only element of an observable sequence, and throws an exception if there is not exactly one element in the observable sequence.

    Declaration
    public static TSource Single<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Returns
    Type Description
    TSource

    The single element in the observable sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    InvalidOperationException

    The source sequence contains more than one element. -or- The source sequence is empty.

    See Also
    SingleAsync<TSource>(IObservable<TSource>)
    | Improve this Doc View Source

    Single<TSource>(IObservable<TSource>, Func<TSource, Boolean>)

    Returns the only element of an observable sequence that satisfies the condition in the predicate, and throws an exception if there is not exactly one element matching the predicate in the observable sequence.

    Declaration
    public static TSource Single<TSource>(this IObservable<TSource> source, Func<TSource, bool> predicate)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Func<TSource, Boolean> predicate

    A predicate function to evaluate for elements in the source sequence.

    Returns
    Type Description
    TSource

    The single element in the observable sequence that satisfies the condition in the predicate.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or predicate is null.

    InvalidOperationException

    No element satisfies the condition in the predicate. -or- More than one element satisfies the condition in the predicate. -or- The source sequence is empty.

    See Also
    SingleAsync<TSource>(IObservable<TSource>, Func<TSource, Boolean>)
    | Improve this Doc View Source

    SingleAsync<TSource>(IObservable<TSource>)

    Returns the only element of an observable sequence, and reports an exception if there is not exactly one element in the observable sequence.

    Declaration
    public static IObservable<TSource> SingleAsync<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Returns
    Type Description
    IObservable<TSource>

    Sequence containing the single element in the observable sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    InvalidOperationException

    (Asynchronous) The source sequence contains more than one element. -or- The source sequence is empty.

    | Improve this Doc View Source

    SingleAsync<TSource>(IObservable<TSource>, Func<TSource, Boolean>)

    Returns the only element of an observable sequence that satisfies the condition in the predicate, and reports an exception if there is not exactly one element in the observable sequence.

    Declaration
    public static IObservable<TSource> SingleAsync<TSource>(this IObservable<TSource> source, Func<TSource, bool> predicate)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Func<TSource, Boolean> predicate

    A predicate function to evaluate for elements in the source sequence.

    Returns
    Type Description
    IObservable<TSource>

    Sequence containing the single element in the observable sequence that satisfies the condition in the predicate.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or predicate is null.

    InvalidOperationException

    (Asynchronous) No element satisfies the condition in the predicate. -or- More than one element satisfies the condition in the predicate. -or- The source sequence is empty.

    | Improve this Doc View Source

    SingleOrDefault<TSource>(IObservable<TSource>)

    Returns the only element of an observable sequence, or a default value if the observable sequence is empty; this method throws an exception if there is more than one element in the observable sequence.

    Declaration
    public static TSource SingleOrDefault<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Returns
    Type Description
    TSource

    The single element in the observable sequence, or a default value if no such element exists.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    InvalidOperationException

    The source sequence contains more than one element.

    See Also
    SingleOrDefaultAsync<TSource>(IObservable<TSource>)
    | Improve this Doc View Source

    SingleOrDefault<TSource>(IObservable<TSource>, Func<TSource, Boolean>)

    Returns the only element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists; this method throws an exception if there is more than one element matching the predicate in the observable sequence.

    Declaration
    public static TSource SingleOrDefault<TSource>(this IObservable<TSource> source, Func<TSource, bool> predicate)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Func<TSource, Boolean> predicate

    A predicate function to evaluate for elements in the source sequence.

    Returns
    Type Description
    TSource

    The single element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or predicate is null.

    InvalidOperationException

    The sequence contains more than one element that satisfies the condition in the predicate.

    See Also
    SingleOrDefaultAsync<TSource>(IObservable<TSource>, Func<TSource, Boolean>)
    | Improve this Doc View Source

    SingleOrDefaultAsync<TSource>(IObservable<TSource>)

    Returns the only element of an observable sequence, or a default value if the observable sequence is empty; this method reports an exception if there is more than one element in the observable sequence.

    Declaration
    public static IObservable<TSource> SingleOrDefaultAsync<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Returns
    Type Description
    IObservable<TSource>

    Sequence containing the single element in the observable sequence, or a default value if no such element exists.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    InvalidOperationException

    (Asynchronous) The source sequence contains more than one element.

    | Improve this Doc View Source

    SingleOrDefaultAsync<TSource>(IObservable<TSource>, Func<TSource, Boolean>)

    Returns the only element of an observable sequence that matches the predicate, or a default value if no such element exists; this method reports an exception if there is more than one element in the observable sequence.

    Declaration
    public static IObservable<TSource> SingleOrDefaultAsync<TSource>(this IObservable<TSource> source, Func<TSource, bool> predicate)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Func<TSource, Boolean> predicate

    A predicate function to evaluate for elements in the source sequence.

    Returns
    Type Description
    IObservable<TSource>

    Sequence containing the single element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or predicate is null.

    InvalidOperationException

    (Asynchronous) The sequence contains more than one element that satisfies the condition in the predicate.

    | Improve this Doc View Source

    Skip<TSource>(IObservable<TSource>, Int32)

    Bypasses a specified number of elements in an observable sequence and then returns the remaining elements.

    Declaration
    public static IObservable<TSource> Skip<TSource>(this IObservable<TSource> source, int count)
    Parameters
    Type Name Description
    IObservable<TSource> source

    The sequence to take elements from.

    Int32 count

    The number of elements to skip before returning the remaining elements.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that contains the elements that occur after the specified index in the input sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    count is less than zero.

    | Improve this Doc View Source

    Skip<TSource>(IObservable<TSource>, TimeSpan)

    Skips elements for the specified duration from the start of the observable source sequence.

    Declaration
    public static IObservable<TSource> Skip<TSource>(this IObservable<TSource> source, TimeSpan duration)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to skip elements for.

    TimeSpan duration

    Duration for skipping elements from the start of the sequence.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence with the elements skipped during the specified duration from the start of the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    Specifying a TimeSpan.Zero value for duration doesn't guarantee no elements will be dropped from the start of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, where the action that causes callbacks from the source sequence to be forwarded may not execute immediately, despite the TimeSpan.Zero due time.

    Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the duration.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    duration is less than TimeSpan.Zero.

    | Improve this Doc View Source

    Skip<TSource>(IObservable<TSource>, TimeSpan, IScheduler)

    Skips elements for the specified duration from the start of the observable source sequence, using the specified scheduler to run timers.

    Declaration
    public static IObservable<TSource> Skip<TSource>(this IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to skip elements for.

    TimeSpan duration

    Duration for skipping elements from the start of the sequence.

    IScheduler scheduler

    Scheduler to run the timer on.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence with the elements skipped during the specified duration from the start of the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    Specifying a TimeSpan.Zero value for duration doesn't guarantee no elements will be dropped from the start of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, where the action that causes callbacks from the source sequence to be forwarded may not execute immediately, despite the TimeSpan.Zero due time.

    Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the duration.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    ArgumentOutOfRangeException

    duration is less than TimeSpan.Zero.

    | Improve this Doc View Source

    SkipLast<TSource>(IObservable<TSource>, Int32)

    Bypasses a specified number of elements at the end of an observable sequence.

    Declaration
    public static IObservable<TSource> SkipLast<TSource>(this IObservable<TSource> source, int count)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    Int32 count

    Number of elements to bypass at the end of the source sequence.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence containing the source sequence elements except for the bypassed ones at the end.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator accumulates a queue with a length enough to store the first count elements. As more elements are received, elements are taken from the front of the queue and produced on the result sequence. This causes elements to be delayed.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    count is less than zero.

    | Improve this Doc View Source

    SkipLast<TSource>(IObservable<TSource>, TimeSpan)

    Skips elements for the specified duration from the end of the observable source sequence.

    Declaration
    public static IObservable<TSource> SkipLast<TSource>(this IObservable<TSource> source, TimeSpan duration)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to skip elements for.

    TimeSpan duration

    Duration for skipping elements from the end of the sequence.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence with the elements skipped during the specified duration from the end of the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator accumulates a queue with a length enough to store elements received during the initial duration window. As more elements are received, elements older than the specified duration are taken from the queue and produced on the result sequence. This causes elements to be delayed with duration.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    duration is less than TimeSpan.Zero.

    | Improve this Doc View Source

    SkipLast<TSource>(IObservable<TSource>, TimeSpan, IScheduler)

    Skips elements for the specified duration from the end of the observable source sequence, using the specified scheduler to run timers.

    Declaration
    public static IObservable<TSource> SkipLast<TSource>(this IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to skip elements for.

    TimeSpan duration

    Duration for skipping elements from the end of the sequence.

    IScheduler scheduler

    Scheduler to run the timer on.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence with the elements skipped during the specified duration from the end of the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator accumulates a queue with a length enough to store elements received during the initial duration window. As more elements are received, elements older than the specified duration are taken from the queue and produced on the result sequence. This causes elements to be delayed with duration.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    ArgumentOutOfRangeException

    duration is less than TimeSpan.Zero.

    | Improve this Doc View Source

    SkipUntil<TSource>(IObservable<TSource>, DateTimeOffset)

    Skips elements from the observable source sequence until the specified start time.

    Declaration
    public static IObservable<TSource> SkipUntil<TSource>(this IObservable<TSource> source, DateTimeOffset startTime)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to skip elements for.

    DateTimeOffset startTime

    Time to start taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, no elements will be skipped.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence with the elements skipped until the specified start time.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the startTime.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    SkipUntil<TSource>(IObservable<TSource>, DateTimeOffset, IScheduler)

    Skips elements from the observable source sequence until the specified start time, using the specified scheduler to run timers.

    Declaration
    public static IObservable<TSource> SkipUntil<TSource>(this IObservable<TSource> source, DateTimeOffset startTime, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to skip elements for.

    DateTimeOffset startTime

    Time to start taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, no elements will be skipped.

    IScheduler scheduler

    Scheduler to run the timer on.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence with the elements skipped until the specified start time.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the startTime.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    | Improve this Doc View Source

    SkipUntil<TSource, TOther>(IObservable<TSource>, IObservable<TOther>)

    Returns the elements from the source observable sequence only after the other observable sequence produces an element.

    Declaration
    public static IObservable<TSource> SkipUntil<TSource, TOther>(this IObservable<TSource> source, IObservable<TOther> other)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to propagate elements for.

    IObservable<TOther> other

    Observable sequence that triggers propagation of elements of the source sequence.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence containing the elements of the source sequence starting from the point the other sequence triggered propagation.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TOther

    The type of the elements in the other sequence that indicates the end of skip behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or other is null.

    | Improve this Doc View Source

    SkipWhile<TSource>(IObservable<TSource>, Func<TSource, Boolean>)

    Bypasses elements in an observable sequence as long as a specified condition is true and then returns the remaining elements.

    Declaration
    public static IObservable<TSource> SkipWhile<TSource>(this IObservable<TSource> source, Func<TSource, bool> predicate)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to return elements from.

    Func<TSource, Boolean> predicate

    A function to test each element for a condition.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or predicate is null.

    | Improve this Doc View Source

    SkipWhile<TSource>(IObservable<TSource>, Func<TSource, Int32, Boolean>)

    Bypasses elements in an observable sequence as long as a specified condition is true and then returns the remaining elements. The element's index is used in the logic of the predicate function.

    Declaration
    public static IObservable<TSource> SkipWhile<TSource>(this IObservable<TSource> source, Func<TSource, int, bool> predicate)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to return elements from.

    Func<TSource, Int32, Boolean> predicate

    A function to test each element for a condition; the second parameter of the function represents the index of the source element.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or predicate is null.

    | Improve this Doc View Source

    Start(Action)

    Invokes the action asynchronously, surfacing the result through an observable sequence.

    Declaration
    public static IObservable<Unit> Start(Action action)
    Parameters
    Type Name Description
    Action action

    Action to run asynchronously.

    Returns
    Type Description
    IObservable<Unit>

    An observable sequence exposing a Unit value upon completion of the action, or an exception.

    Remarks
    • The action is called immediately, not during the subscription of the resulting sequence.
    • Multiple subscriptions to the resulting sequence can observe the action's outcome.
    Exceptions
    Type Condition
    ArgumentNullException

    action is null.

    | Improve this Doc View Source

    Start(Action, IScheduler)

    Invokes the action asynchronously on the specified scheduler, surfacing the result through an observable sequence.

    Declaration
    public static IObservable<Unit> Start(Action action, IScheduler scheduler)
    Parameters
    Type Name Description
    Action action

    Action to run asynchronously.

    IScheduler scheduler

    Scheduler to run the action on.

    Returns
    Type Description
    IObservable<Unit>

    An observable sequence exposing a Unit value upon completion of the action, or an exception.

    Remarks
    • The action is called immediately, not during the subscription of the resulting sequence.
    • Multiple subscriptions to the resulting sequence can observe the action's outcome.
    Exceptions
    Type Condition
    ArgumentNullException

    action or scheduler is null.

    | Improve this Doc View Source

    Start<TResult>(Func<TResult>)

    Invokes the specified function asynchronously, surfacing the result through an observable sequence.

    Declaration
    public static IObservable<TResult> Start<TResult>(Func<TResult> function)
    Parameters
    Type Name Description
    Func<TResult> function

    Function to run asynchronously.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence exposing the function's result value, or an exception.

    Type Parameters
    Name Description
    TResult

    The type of the result returned by the function.

    Remarks
    • The function is called immediately, not during the subscription of the resulting sequence.
    • Multiple subscriptions to the resulting sequence can observe the function's result.
    Exceptions
    Type Condition
    ArgumentNullException

    function is null.

    | Improve this Doc View Source

    Start<TResult>(Func<TResult>, IScheduler)

    Invokes the specified function asynchronously on the specified scheduler, surfacing the result through an observable sequence

    Declaration
    public static IObservable<TResult> Start<TResult>(Func<TResult> function, IScheduler scheduler)
    Parameters
    Type Name Description
    Func<TResult> function

    Function to run asynchronously.

    IScheduler scheduler

    Scheduler to run the function on.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence exposing the function's result value, or an exception.

    Type Parameters
    Name Description
    TResult

    The type of the result returned by the function.

    Remarks
    • The function is called immediately, not during the subscription of the resulting sequence.
    • Multiple subscriptions to the resulting sequence can observe the function's result.
    Exceptions
    Type Condition
    ArgumentNullException

    function or scheduler is null.

    | Improve this Doc View Source

    StartAsync(Func<CancellationToken, Task>)

    Invokes the asynchronous action, surfacing the result through an observable sequence. The CancellationToken is shared by all subscriptions on the resulting observable sequence. See the remarks section for more information.

    Declaration
    public static IObservable<Unit> StartAsync(Func<CancellationToken, Task> actionAsync)
    Parameters
    Type Name Description
    Func<CancellationToken, Task> actionAsync

    Asynchronous action to run.

    Returns
    Type Description
    IObservable<Unit>

    An observable sequence exposing a Unit value upon completion of the action, or an exception.

    Remarks
    • The action is started immediately, not during the subscription of the resulting sequence.
    • Multiple subscriptions to the resulting sequence can observe the action's outcome.
    • If any subscription to the resulting sequence is disposed, the CancellationToken is set. The observer associated to the disposed subscription won't see the TaskCanceledException, but other observers will. You can protect against this using the Catch operator. Be careful when handing out the resulting sequence because of this behavior. The most common use is to have a single subscription to the resulting sequence, which controls the CancellationToken state. Alternatively, you can control subscription behavior using multicast operators.
    Exceptions
    Type Condition
    ArgumentNullException

    actionAsync is null.

    | Improve this Doc View Source

    StartAsync(Func<Task>)

    Invokes the asynchronous action, surfacing the result through an observable sequence.

    Declaration
    public static IObservable<Unit> StartAsync(Func<Task> actionAsync)
    Parameters
    Type Name Description
    Func<Task> actionAsync

    Asynchronous action to run.

    Returns
    Type Description
    IObservable<Unit>

    An observable sequence exposing a Unit value upon completion of the action, or an exception.

    Remarks
    • The action is started immediately, not during the subscription of the resulting sequence.
    • Multiple subscriptions to the resulting sequence can observe the action's outcome.
    Exceptions
    Type Condition
    ArgumentNullException

    actionAsync is null.

    | Improve this Doc View Source

    StartAsync<TResult>(Func<CancellationToken, Task<TResult>>)

    Invokes the asynchronous function, surfacing the result through an observable sequence. The CancellationToken is shared by all subscriptions on the resulting observable sequence. See the remarks section for more information.

    Declaration
    public static IObservable<TResult> StartAsync<TResult>(Func<CancellationToken, Task<TResult>> functionAsync)
    Parameters
    Type Name Description
    Func<CancellationToken, Task<TResult>> functionAsync

    Asynchronous function to run.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence exposing the function's result value, or an exception.

    Type Parameters
    Name Description
    TResult

    The type of the result returned by the asynchronous function.

    Remarks
    • The function is started immediately, not during the subscription of the resulting sequence.
    • Multiple subscriptions to the resulting sequence can observe the function's result.
    • If any subscription to the resulting sequence is disposed, the CancellationToken is set. The observer associated to the disposed subscription won't see the TaskCanceledException, but other observers will. You can protect against this using the Catch operator. Be careful when handing out the resulting sequence because of this behavior. The most common use is to have a single subscription to the resulting sequence, which controls the CancellationToken state. Alternatively, you can control subscription behavior using multicast operators.
    Exceptions
    Type Condition
    ArgumentNullException

    functionAsync is null.

    | Improve this Doc View Source

    StartAsync<TResult>(Func<Task<TResult>>)

    Invokes the asynchronous function, surfacing the result through an observable sequence.

    Declaration
    public static IObservable<TResult> StartAsync<TResult>(Func<Task<TResult>> functionAsync)
    Parameters
    Type Name Description
    Func<Task<TResult>> functionAsync

    Asynchronous function to run.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence exposing the function's result value, or an exception.

    Type Parameters
    Name Description
    TResult

    The type of the result returned by the asynchronous function.

    Remarks
    • The function is started immediately, not during the subscription of the resulting sequence.
    • Multiple subscriptions to the resulting sequence can observe the function's result.
    Exceptions
    Type Condition
    ArgumentNullException

    functionAsync is null.

    | Improve this Doc View Source

    StartWith<TSource>(IObservable<TSource>, TSource[])

    Prepends a sequence of values to an observable sequence.

    Declaration
    public static IObservable<TSource> StartWith<TSource>(this IObservable<TSource> source, params TSource[] values)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to prepend values to.

    TSource[] values

    Values to prepend to the specified sequence.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence prepended with the specified values.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or values is null.

    | Improve this Doc View Source

    StartWith<TSource>(IObservable<TSource>, IEnumerable<TSource>)

    Prepends a sequence of values to an observable sequence.

    Declaration
    public static IObservable<TSource> StartWith<TSource>(this IObservable<TSource> source, IEnumerable<TSource> values)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to prepend values to.

    IEnumerable<TSource> values

    Values to prepend to the specified sequence.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence prepended with the specified values.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or values is null.

    | Improve this Doc View Source

    StartWith<TSource>(IObservable<TSource>, IScheduler, TSource[])

    Prepends a sequence of values to an observable sequence.

    Declaration
    public static IObservable<TSource> StartWith<TSource>(this IObservable<TSource> source, IScheduler scheduler, params TSource[] values)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to prepend values to.

    IScheduler scheduler

    Scheduler to emit the prepended values on.

    TSource[] values

    Values to prepend to the specified sequence.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence prepended with the specified values.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler or values is null.

    | Improve this Doc View Source

    StartWith<TSource>(IObservable<TSource>, IScheduler, IEnumerable<TSource>)

    Prepends a sequence of values to an observable sequence.

    Declaration
    public static IObservable<TSource> StartWith<TSource>(this IObservable<TSource> source, IScheduler scheduler, IEnumerable<TSource> values)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to prepend values to.

    IScheduler scheduler

    Scheduler to emit the prepended values on.

    IEnumerable<TSource> values

    Values to prepend to the specified sequence.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence prepended with the specified values.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler or values is null.

    | Improve this Doc View Source

    Subscribe<TSource>(IEnumerable<TSource>, IObserver<TSource>)

    Subscribes an observer to an enumerable sequence.

    Declaration
    public static IDisposable Subscribe<TSource>(this IEnumerable<TSource> source, IObserver<TSource> observer)
    Parameters
    Type Name Description
    IEnumerable<TSource> source

    Enumerable sequence to subscribe to.

    IObserver<TSource> observer

    Observer that will receive notifications from the enumerable sequence.

    Returns
    Type Description
    IDisposable

    Disposable object that can be used to unsubscribe the observer from the enumerable

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or observer is null.

    | Improve this Doc View Source

    Subscribe<TSource>(IEnumerable<TSource>, IObserver<TSource>, IScheduler)

    Subscribes an observer to an enumerable sequence, using the specified scheduler to run the enumeration loop.

    Declaration
    public static IDisposable Subscribe<TSource>(this IEnumerable<TSource> source, IObserver<TSource> observer, IScheduler scheduler)
    Parameters
    Type Name Description
    IEnumerable<TSource> source

    Enumerable sequence to subscribe to.

    IObserver<TSource> observer

    Observer that will receive notifications from the enumerable sequence.

    IScheduler scheduler

    Scheduler to perform the enumeration on.

    Returns
    Type Description
    IDisposable

    Disposable object that can be used to unsubscribe the observer from the enumerable

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or observer or scheduler is null.

    | Improve this Doc View Source

    SubscribeOn<TSource>(IObservable<TSource>, IScheduler)

    Wraps the source sequence in order to run its subscription and unsubscription logic on the specified scheduler. This operation is not commonly used; see the remarks section for more information on the distinction between SubscribeOn and ObserveOn.

    Declaration
    public static IObservable<TSource> SubscribeOn<TSource>(this IObservable<TSource> source, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    IScheduler scheduler

    Scheduler to perform subscription and unsubscription actions on.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence whose subscriptions and unsubscriptions happen on the specified scheduler.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This only performs the side-effects of subscription and unsubscription on the specified scheduler. In order to invoke observer callbacks on a scheduler, use ObserveOn<TSource>(IObservable<TSource>, IScheduler).

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    | Improve this Doc View Source

    SubscribeOn<TSource>(IObservable<TSource>, SynchronizationContext)

    Wraps the source sequence in order to run its subscription and unsubscription logic on the specified synchronization context. This operation is not commonly used; see the remarks section for more information on the distinction between SubscribeOn and ObserveOn.

    Declaration
    public static IObservable<TSource> SubscribeOn<TSource>(this IObservable<TSource> source, SynchronizationContext context)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    SynchronizationContext context

    Synchronization context to perform subscription and unsubscription actions on.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence whose subscriptions and unsubscriptions happen on the specified synchronization context.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This only performs the side-effects of subscription and unsubscription on the specified synchronization context. In order to invoke observer callbacks on a synchronization context, use ObserveOn<TSource>(IObservable<TSource>, SynchronizationContext).

    Exceptions
    Type Condition
    ArgumentNullException

    source or context is null.

    | Improve this Doc View Source

    Sum(IObservable<Decimal>)

    Computes the sum of a sequence of Decimal values.

    Declaration
    public static IObservable<decimal> Sum(this IObservable<decimal> source)
    Parameters
    Type Name Description
    IObservable<Decimal> source

    A sequence of Decimal values to calculate the sum of.

    Returns
    Type Description
    IObservable<Decimal>

    An observable sequence containing a single element with the sum of the values in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    OverflowException

    (Asynchronous) The sum of the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Sum(IObservable<Double>)

    Computes the sum of a sequence of Double values.

    Declaration
    public static IObservable<double> Sum(this IObservable<double> source)
    Parameters
    Type Name Description
    IObservable<Double> source

    A sequence of Double values to calculate the sum of.

    Returns
    Type Description
    IObservable<Double>

    An observable sequence containing a single element with the sum of the values in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Sum(IObservable<Int32>)

    Computes the sum of a sequence of Int32 values.

    Declaration
    public static IObservable<int> Sum(this IObservable<int> source)
    Parameters
    Type Name Description
    IObservable<Int32> source

    A sequence of Int32 values to calculate the sum of.

    Returns
    Type Description
    IObservable<Int32>

    An observable sequence containing a single element with the sum of the values in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    OverflowException

    (Asynchronous) The sum of the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Sum(IObservable<Int64>)

    Computes the sum of a sequence of Int64 values.

    Declaration
    public static IObservable<long> Sum(this IObservable<long> source)
    Parameters
    Type Name Description
    IObservable<Int64> source

    A sequence of Int64 values to calculate the sum of.

    Returns
    Type Description
    IObservable<Int64>

    An observable sequence containing a single element with the sum of the values in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    OverflowException

    (Asynchronous) The sum of the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Sum(IObservable<Nullable<Decimal>>)

    Computes the sum of a sequence of nullable Decimal values.

    Declaration
    public static IObservable<decimal?> Sum(this IObservable<decimal?> source)
    Parameters
    Type Name Description
    IObservable<Nullable<Decimal>> source

    A sequence of nullable Decimal values to calculate the sum of.

    Returns
    Type Description
    IObservable<Nullable<Decimal>>

    An observable sequence containing a single element with the sum of the values in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    OverflowException

    (Asynchronous) The sum of the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Sum(IObservable<Nullable<Double>>)

    Computes the sum of a sequence of nullable Double values.

    Declaration
    public static IObservable<double?> Sum(this IObservable<double?> source)
    Parameters
    Type Name Description
    IObservable<Nullable<Double>> source

    A sequence of nullable Double values to calculate the sum of.

    Returns
    Type Description
    IObservable<Nullable<Double>>

    An observable sequence containing a single element with the sum of the values in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Sum(IObservable<Nullable<Int32>>)

    Computes the sum of a sequence of nullable Int32 values.

    Declaration
    public static IObservable<int?> Sum(this IObservable<int?> source)
    Parameters
    Type Name Description
    IObservable<Nullable<Int32>> source

    A sequence of nullable Int32 values to calculate the sum of.

    Returns
    Type Description
    IObservable<Nullable<Int32>>

    An observable sequence containing a single element with the sum of the values in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    OverflowException

    (Asynchronous) The sum of the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Sum(IObservable<Nullable<Int64>>)

    Computes the sum of a sequence of nullable Int64 values.

    Declaration
    public static IObservable<long?> Sum(this IObservable<long?> source)
    Parameters
    Type Name Description
    IObservable<Nullable<Int64>> source

    A sequence of nullable Int64 values to calculate the sum of.

    Returns
    Type Description
    IObservable<Nullable<Int64>>

    An observable sequence containing a single element with the sum of the values in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    OverflowException

    (Asynchronous) The sum of the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Sum(IObservable<Nullable<Single>>)

    Computes the sum of a sequence of nullable Single values.

    Declaration
    public static IObservable<float?> Sum(this IObservable<float?> source)
    Parameters
    Type Name Description
    IObservable<Nullable<Single>> source

    A sequence of nullable Single values to calculate the sum of.

    Returns
    Type Description
    IObservable<Nullable<Single>>

    An observable sequence containing a single element with the sum of the values in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Sum(IObservable<Single>)

    Computes the sum of a sequence of Single values.

    Declaration
    public static IObservable<float> Sum(this IObservable<float> source)
    Parameters
    Type Name Description
    IObservable<Single> source

    A sequence of Single values to calculate the sum of.

    Returns
    Type Description
    IObservable<Single>

    An observable sequence containing a single element with the sum of the values in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Sum<TSource>(IObservable<TSource>, Func<TSource, Decimal>)

    Computes the sum of a sequence of Decimal values that are obtained by invoking a transform function on each element of the input sequence.

    Declaration
    public static IObservable<decimal> Sum<TSource>(this IObservable<TSource> source, Func<TSource, decimal> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values that are used to calculate a sum.

    Func<TSource, Decimal> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Decimal>

    An observable sequence containing a single element with the sum of the values in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    OverflowException

    (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Sum<TSource>(IObservable<TSource>, Func<TSource, Double>)

    Computes the sum of a sequence of Double values that are obtained by invoking a transform function on each element of the input sequence.

    Declaration
    public static IObservable<double> Sum<TSource>(this IObservable<TSource> source, Func<TSource, double> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values that are used to calculate a sum.

    Func<TSource, Double> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Double>

    An observable sequence containing a single element with the sum of the values in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Sum<TSource>(IObservable<TSource>, Func<TSource, Int32>)

    Computes the sum of a sequence of Int32 values that are obtained by invoking a transform function on each element of the input sequence.

    Declaration
    public static IObservable<int> Sum<TSource>(this IObservable<TSource> source, Func<TSource, int> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values that are used to calculate a sum.

    Func<TSource, Int32> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Int32>

    An observable sequence containing a single element with the sum of the values in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    OverflowException

    (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Sum<TSource>(IObservable<TSource>, Func<TSource, Int64>)

    Computes the sum of a sequence of Int64 values that are obtained by invoking a transform function on each element of the input sequence.

    Declaration
    public static IObservable<long> Sum<TSource>(this IObservable<TSource> source, Func<TSource, long> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values that are used to calculate a sum.

    Func<TSource, Int64> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Int64>

    An observable sequence containing a single element with the sum of the values in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    OverflowException

    (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Sum<TSource>(IObservable<TSource>, Func<TSource, Nullable<Decimal>>)

    Computes the sum of a sequence of nullable Decimal values that are obtained by invoking a transform function on each element of the input sequence.

    Declaration
    public static IObservable<decimal?> Sum<TSource>(this IObservable<TSource> source, Func<TSource, decimal?> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values that are used to calculate a sum.

    Func<TSource, Nullable<Decimal>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Nullable<Decimal>>

    An observable sequence containing a single element with the sum of the values in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    OverflowException

    (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Sum<TSource>(IObservable<TSource>, Func<TSource, Nullable<Double>>)

    Computes the sum of a sequence of nullable Double values that are obtained by invoking a transform function on each element of the input sequence.

    Declaration
    public static IObservable<double?> Sum<TSource>(this IObservable<TSource> source, Func<TSource, double?> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values that are used to calculate a sum.

    Func<TSource, Nullable<Double>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Nullable<Double>>

    An observable sequence containing a single element with the sum of the values in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Sum<TSource>(IObservable<TSource>, Func<TSource, Nullable<Int32>>)

    Computes the sum of a sequence of nullable Int32 values that are obtained by invoking a transform function on each element of the input sequence.

    Declaration
    public static IObservable<int?> Sum<TSource>(this IObservable<TSource> source, Func<TSource, int?> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values that are used to calculate a sum.

    Func<TSource, Nullable<Int32>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Nullable<Int32>>

    An observable sequence containing a single element with the sum of the values in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    OverflowException

    (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Sum<TSource>(IObservable<TSource>, Func<TSource, Nullable<Int64>>)

    Computes the sum of a sequence of nullable Int64 values that are obtained by invoking a transform function on each element of the input sequence.

    Declaration
    public static IObservable<long?> Sum<TSource>(this IObservable<TSource> source, Func<TSource, long?> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values that are used to calculate a sum.

    Func<TSource, Nullable<Int64>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Nullable<Int64>>

    An observable sequence containing a single element with the sum of the values in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    OverflowException

    (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than MaxValue.

    | Improve this Doc View Source

    Sum<TSource>(IObservable<TSource>, Func<TSource, Nullable<Single>>)

    Computes the sum of a sequence of nullable Single values that are obtained by invoking a transform function on each element of the input sequence.

    Declaration
    public static IObservable<float?> Sum<TSource>(this IObservable<TSource> source, Func<TSource, float?> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values that are used to calculate a sum.

    Func<TSource, Nullable<Single>> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Nullable<Single>>

    An observable sequence containing a single element with the sum of the values in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Sum<TSource>(IObservable<TSource>, Func<TSource, Single>)

    Computes the sum of a sequence of Single values that are obtained by invoking a transform function on each element of the input sequence.

    Declaration
    public static IObservable<float> Sum<TSource>(this IObservable<TSource> source, Func<TSource, float> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence of values that are used to calculate a sum.

    Func<TSource, Single> selector

    A transform function to apply to each element.

    Returns
    Type Description
    IObservable<Single>

    An observable sequence containing a single element with the sum of the values in the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Switch<TSource>(IObservable<IObservable<TSource>>)

    Transforms an observable sequence of observable sequences into an observable sequence producing values only from the most recent observable sequence. Each time a new inner observable sequence is received, unsubscribe from the previous inner observable sequence.

    Declaration
    public static IObservable<TSource> Switch<TSource>(this IObservable<IObservable<TSource>> sources)
    Parameters
    Type Name Description
    IObservable<IObservable<TSource>> sources

    Observable sequence of inner observable sequences.

    Returns
    Type Description
    IObservable<TSource>

    The observable sequence that at any point in time produces the elements of the most recent inner observable sequence that has been received.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences.

    Exceptions
    Type Condition
    ArgumentNullException

    sources is null.

    | Improve this Doc View Source

    Switch<TSource>(IObservable<Task<TSource>>)

    Transforms an observable sequence of tasks into an observable sequence producing values only from the most recent observable sequence. Each time a new task is received, the previous task's result is ignored.

    Declaration
    public static IObservable<TSource> Switch<TSource>(this IObservable<Task<TSource>> sources)
    Parameters
    Type Name Description
    IObservable<Task<TSource>> sources

    Observable sequence of tasks.

    Returns
    Type Description
    IObservable<TSource>

    The observable sequence that at any point in time produces the result of the most recent task that has been received.

    Type Parameters
    Name Description
    TSource

    The type of the results produced by the source tasks.

    Remarks

    If the tasks support cancellation, consider manual conversion of the tasks using FromAsync<TResult>(Func<CancellationToken, Task<TResult>>), followed by a switch operation using Switch<TSource>(IObservable<IObservable<TSource>>).

    Exceptions
    Type Condition
    ArgumentNullException

    sources is null.

    | Improve this Doc View Source

    Synchronize<TSource>(IObservable<TSource>)

    Synchronizes the observable sequence such that observer notifications cannot be delivered concurrently. This overload is useful to "fix" an observable sequence that exhibits concurrent callbacks on individual observers, which is invalid behavior for the query processor.

    Declaration
    public static IObservable<TSource> Synchronize<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence whose outgoing calls to observers are synchronized.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    It's invalid behavior - according to the observer grammar - for a sequence to exhibit concurrent callbacks on a given observer. This operator can be used to "fix" a source that doesn't conform to this rule.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Synchronize<TSource>(IObservable<TSource>, Object)

    Synchronizes the observable sequence such that observer notifications cannot be delivered concurrently, using the specified gate object. This overload is useful when writing n-ary query operators, in order to prevent concurrent callbacks from different sources by synchronizing on a common gate object.

    Declaration
    public static IObservable<TSource> Synchronize<TSource>(this IObservable<TSource> source, object gate)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    Object gate

    Gate object to synchronize each observer call on.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence whose outgoing calls to observers are synchronized on the given gate object.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or gate is null.

    | Improve this Doc View Source

    Take<TSource>(IObservable<TSource>, Int32)

    Returns a specified number of contiguous elements from the start of an observable sequence.

    Declaration
    public static IObservable<TSource> Take<TSource>(this IObservable<TSource> source, int count)
    Parameters
    Type Name Description
    IObservable<TSource> source

    The sequence to take elements from.

    Int32 count

    The number of elements to return.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that contains the specified number of elements from the start of the input sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    count is less than zero.

    | Improve this Doc View Source

    Take<TSource>(IObservable<TSource>, Int32, IScheduler)

    Returns a specified number of contiguous elements from the start of an observable sequence, using the specified scheduler for the edge case of Take(0).

    Declaration
    public static IObservable<TSource> Take<TSource>(this IObservable<TSource> source, int count, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    The sequence to take elements from.

    Int32 count

    The number of elements to return.

    IScheduler scheduler

    Scheduler used to produce an OnCompleted message in case count is set to 0.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that contains the specified number of elements from the start of the input sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    ArgumentOutOfRangeException

    count is less than zero.

    | Improve this Doc View Source

    Take<TSource>(IObservable<TSource>, TimeSpan)

    Takes elements for the specified duration from the start of the observable source sequence.

    Declaration
    public static IObservable<TSource> Take<TSource>(this IObservable<TSource> source, TimeSpan duration)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to take elements from.

    TimeSpan duration

    Duration for taking elements from the start of the sequence.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence with the elements taken during the specified duration from the start of the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    Specifying a TimeSpan.Zero value for duration doesn't guarantee an empty sequence will be returned. This is a side-effect of the asynchrony introduced by the scheduler, where the action that stops forwarding callbacks from the source sequence may not execute immediately, despite the TimeSpan.Zero due time.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    duration is less than TimeSpan.Zero.

    | Improve this Doc View Source

    Take<TSource>(IObservable<TSource>, TimeSpan, IScheduler)

    Takes elements for the specified duration from the start of the observable source sequence, using the specified scheduler to run timers.

    Declaration
    public static IObservable<TSource> Take<TSource>(this IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to take elements from.

    TimeSpan duration

    Duration for taking elements from the start of the sequence.

    IScheduler scheduler

    Scheduler to run the timer on.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence with the elements taken during the specified duration from the start of the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    Specifying a TimeSpan.Zero value for duration doesn't guarantee an empty sequence will be returned. This is a side-effect of the asynchrony introduced by the scheduler, where the action that stops forwarding callbacks from the source sequence may not execute immediately, despite the TimeSpan.Zero due time.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    ArgumentOutOfRangeException

    duration is less than TimeSpan.Zero.

    | Improve this Doc View Source

    TakeLast<TSource>(IObservable<TSource>, Int32)

    Returns a specified number of contiguous elements from the end of an observable sequence.

    Declaration
    public static IObservable<TSource> TakeLast<TSource>(this IObservable<TSource> source, int count)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    Int32 count

    Number of elements to take from the end of the source sequence.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence containing the specified number of elements from the end of the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator accumulates a buffer with a length enough to store elements count elements. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the elements to be delayed.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    count is less than zero.

    | Improve this Doc View Source

    TakeLast<TSource>(IObservable<TSource>, Int32, IScheduler)

    Returns a specified number of contiguous elements from the end of an observable sequence, using the specified scheduler to drain the queue.

    Declaration
    public static IObservable<TSource> TakeLast<TSource>(this IObservable<TSource> source, int count, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    Int32 count

    Number of elements to take from the end of the source sequence.

    IScheduler scheduler

    Scheduler used to drain the queue upon completion of the source sequence.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence containing the specified number of elements from the end of the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator accumulates a buffer with a length enough to store elements count elements. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the elements to be delayed.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    ArgumentOutOfRangeException

    count is less than zero.

    | Improve this Doc View Source

    TakeLast<TSource>(IObservable<TSource>, TimeSpan)

    Returns elements within the specified duration from the end of the observable source sequence.

    Declaration
    public static IObservable<TSource> TakeLast<TSource>(this IObservable<TSource> source, TimeSpan duration)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to take elements from.

    TimeSpan duration

    Duration for taking elements from the end of the sequence.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence with the elements taken during the specified duration from the end of the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator accumulates a buffer with a length enough to store elements for any duration window during the lifetime of the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements to be delayed with duration.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    duration is less than TimeSpan.Zero.

    | Improve this Doc View Source

    TakeLast<TSource>(IObservable<TSource>, TimeSpan, IScheduler)

    Returns elements within the specified duration from the end of the observable source sequence, using the specified scheduler to run timers.

    Declaration
    public static IObservable<TSource> TakeLast<TSource>(this IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to take elements from.

    TimeSpan duration

    Duration for taking elements from the end of the sequence.

    IScheduler scheduler

    Scheduler to run the timer on.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence with the elements taken during the specified duration from the end of the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator accumulates a buffer with a length enough to store elements for any duration window during the lifetime of the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements to be delayed with duration.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    ArgumentOutOfRangeException

    duration is less than TimeSpan.Zero.

    | Improve this Doc View Source

    TakeLast<TSource>(IObservable<TSource>, TimeSpan, IScheduler, IScheduler)

    Returns elements within the specified duration from the end of the observable source sequence, using the specified schedulers to run timers and to drain the collected elements.

    Declaration
    public static IObservable<TSource> TakeLast<TSource>(this IObservable<TSource> source, TimeSpan duration, IScheduler timerScheduler, IScheduler loopScheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to take elements from.

    TimeSpan duration

    Duration for taking elements from the end of the sequence.

    IScheduler timerScheduler

    Scheduler to run the timer on.

    IScheduler loopScheduler

    Scheduler to drain the collected elements.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence with the elements taken during the specified duration from the end of the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator accumulates a buffer with a length enough to store elements for any duration window during the lifetime of the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements to be delayed with duration.

    Exceptions
    Type Condition
    ArgumentNullException

    source or timerScheduler or loopScheduler is null.

    ArgumentOutOfRangeException

    duration is less than TimeSpan.Zero.

    | Improve this Doc View Source

    TakeLastBuffer<TSource>(IObservable<TSource>, Int32)

    Returns a list with the specified number of contiguous elements from the end of an observable sequence.

    Declaration
    public static IObservable<IList<TSource>> TakeLastBuffer<TSource>(this IObservable<TSource> source, int count)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence.

    Int32 count

    Number of elements to take from the end of the source sequence.

    Returns
    Type Description
    IObservable<IList<TSource>>

    An observable sequence containing a single list with the specified number of elements from the end of the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator accumulates a buffer with a length enough to store count elements. Upon completion of the source sequence, this buffer is produced on the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    count is less than zero.

    | Improve this Doc View Source

    TakeLastBuffer<TSource>(IObservable<TSource>, TimeSpan)

    Returns a list with the elements within the specified duration from the end of the observable source sequence.

    Declaration
    public static IObservable<IList<TSource>> TakeLastBuffer<TSource>(this IObservable<TSource> source, TimeSpan duration)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to take elements from.

    TimeSpan duration

    Duration for taking elements from the end of the sequence.

    Returns
    Type Description
    IObservable<IList<TSource>>

    An observable sequence containing a single list with the elements taken during the specified duration from the end of the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator accumulates a buffer with a length enough to store elements for any duration window during the lifetime of the source sequence. Upon completion of the source sequence, this buffer is produced on the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    duration is less than TimeSpan.Zero.

    | Improve this Doc View Source

    TakeLastBuffer<TSource>(IObservable<TSource>, TimeSpan, IScheduler)

    Returns a list with the elements within the specified duration from the end of the observable source sequence, using the specified scheduler to run timers.

    Declaration
    public static IObservable<IList<TSource>> TakeLastBuffer<TSource>(this IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to take elements from.

    TimeSpan duration

    Duration for taking elements from the end of the sequence.

    IScheduler scheduler

    Scheduler to run the timer on.

    Returns
    Type Description
    IObservable<IList<TSource>>

    An observable sequence containing a single list with the elements taken during the specified duration from the end of the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator accumulates a buffer with a length enough to store elements for any duration window during the lifetime of the source sequence. Upon completion of the source sequence, this buffer is produced on the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    ArgumentOutOfRangeException

    duration is less than TimeSpan.Zero.

    | Improve this Doc View Source

    TakeUntil<TSource>(IObservable<TSource>, DateTimeOffset)

    Takes elements for the specified duration until the specified end time.

    Declaration
    public static IObservable<TSource> TakeUntil<TSource>(this IObservable<TSource> source, DateTimeOffset endTime)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to take elements from.

    DateTimeOffset endTime

    Time to stop taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, the result stream will complete immediately.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence with the elements taken until the specified end time.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    TakeUntil<TSource>(IObservable<TSource>, DateTimeOffset, IScheduler)

    Takes elements for the specified duration until the specified end time, using the specified scheduler to run timers.

    Declaration
    public static IObservable<TSource> TakeUntil<TSource>(this IObservable<TSource> source, DateTimeOffset endTime, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to take elements from.

    DateTimeOffset endTime

    Time to stop taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, the result stream will complete immediately.

    IScheduler scheduler

    Scheduler to run the timer on.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence with the elements taken until the specified end time.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    | Improve this Doc View Source

    TakeUntil<TSource, TOther>(IObservable<TSource>, IObservable<TOther>)

    Returns the elements from the source observable sequence until the other observable sequence produces an element.

    Declaration
    public static IObservable<TSource> TakeUntil<TSource, TOther>(this IObservable<TSource> source, IObservable<TOther> other)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to propagate elements for.

    IObservable<TOther> other

    Observable sequence that terminates propagation of elements of the source sequence.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence containing the elements of the source sequence up to the point the other sequence interrupted further propagation.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TOther

    The type of the elements in the other sequence that indicates the end of take behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or other is null.

    | Improve this Doc View Source

    TakeWhile<TSource>(IObservable<TSource>, Func<TSource, Boolean>)

    Returns elements from an observable sequence as long as a specified condition is true.

    Declaration
    public static IObservable<TSource> TakeWhile<TSource>(this IObservable<TSource> source, Func<TSource, bool> predicate)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence to return elements from.

    Func<TSource, Boolean> predicate

    A function to test each element for a condition.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that contains the elements from the input sequence that occur before the element at which the test no longer passes.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or predicate is null.

    | Improve this Doc View Source

    TakeWhile<TSource>(IObservable<TSource>, Func<TSource, Int32, Boolean>)

    Returns elements from an observable sequence as long as a specified condition is true. The element's index is used in the logic of the predicate function.

    Declaration
    public static IObservable<TSource> TakeWhile<TSource>(this IObservable<TSource> source, Func<TSource, int, bool> predicate)
    Parameters
    Type Name Description
    IObservable<TSource> source

    A sequence to return elements from.

    Func<TSource, Int32, Boolean> predicate

    A function to test each element for a condition; the second parameter of the function represents the index of the source element.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that contains the elements from the input sequence that occur before the element at which the test no longer passes.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or predicate is null.

    | Improve this Doc View Source

    Then<TSource, TResult>(IObservable<TSource>, Func<TSource, TResult>)

    Matches when the observable sequence has an available element and projects the element by invoking the selector function.

    Declaration
    public static Plan<TResult> Then<TSource, TResult>(this IObservable<TSource> source, Func<TSource, TResult> selector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Observable sequence to apply the selector on.

    Func<TSource, TResult> selector

    Selector that will be invoked for elements in the source sequence.

    Returns
    Type Description
    Plan<TResult>

    Plan that produces the projected results, to be fed (with other plans) to the When operator.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source or selector is null.

    | Improve this Doc View Source

    Throttle<TSource>(IObservable<TSource>, TimeSpan)

    Ignores elements from an observable sequence which are followed by another element within a specified relative time duration.

    Declaration
    public static IObservable<TSource> Throttle<TSource>(this IObservable<TSource> source, TimeSpan dueTime)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to throttle.

    TimeSpan dueTime

    Throttling duration for each element.

    Returns
    Type Description
    IObservable<TSource>

    The throttled sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator throttles the source sequence by holding on to each element for the duration specified in dueTime. If another element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this whole process. For streams that never have gaps larger than or equal to dueTime between elements, the resulting stream won't produce any elements. In order to reduce the volume of a stream whilst guaranteeing the periodic production of elements, consider using the Observable.Sample set of operators.

    Specifying a TimeSpan.Zero value for dueTime is not recommended but supported, causing throttling timers to be scheduled that are due immediately. However, this doesn't guarantee all elements will be retained in the result sequence. This is a side-effect of the asynchrony introduced by the scheduler, where the action to forward the current element may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may arrive before the scheduler gets a chance to run the throttling action.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    dueTime is less than TimeSpan.Zero.

    | Improve this Doc View Source

    Throttle<TSource>(IObservable<TSource>, TimeSpan, IScheduler)

    Ignores elements from an observable sequence which are followed by another element within a specified relative time duration, using the specified scheduler to run throttling timers.

    Declaration
    public static IObservable<TSource> Throttle<TSource>(this IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to throttle.

    TimeSpan dueTime

    Throttling duration for each element.

    IScheduler scheduler

    Scheduler to run the throttle timers on.

    Returns
    Type Description
    IObservable<TSource>

    The throttled sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    This operator throttles the source sequence by holding on to each element for the duration specified in dueTime. If another element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this whole process. For streams that never have gaps larger than or equal to dueTime between elements, the resulting stream won't produce any elements. In order to reduce the volume of a stream whilst guaranteeing the periodic production of elements, consider using the Observable.Sample set of operators.

    Specifying a TimeSpan.Zero value for dueTime is not recommended but supported, causing throttling timers to be scheduled that are due immediately. However, this doesn't guarantee all elements will be retained in the result sequence. This is a side-effect of the asynchrony introduced by the scheduler, where the action to forward the current element may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may arrive before the scheduler gets a chance to run the throttling action.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    ArgumentOutOfRangeException

    dueTime is less than TimeSpan.Zero.

    | Improve this Doc View Source

    Throttle<TSource, TThrottle>(IObservable<TSource>, Func<TSource, IObservable<TThrottle>>)

    Ignores elements from an observable sequence which are followed by another value within a computed throttle duration.

    Declaration
    public static IObservable<TSource> Throttle<TSource, TThrottle>(this IObservable<TSource> source, Func<TSource, IObservable<TThrottle>> throttleDurationSelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to throttle.

    Func<TSource, IObservable<TThrottle>> throttleDurationSelector

    Selector function to retrieve a sequence indicating the throttle duration for each given element.

    Returns
    Type Description
    IObservable<TSource>

    The throttled sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TThrottle

    The type of the elements in the throttle sequences selected for each element in the source sequence.

    Remarks

    This operator throttles the source sequence by holding on to each element for the duration denoted by throttleDurationSelector. If another element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this whole process. For streams where the duration computed by applying the throttleDurationSelector to each element overlaps with the occurrence of the successor element, the resulting stream won't produce any elements. In order to reduce the volume of a stream whilst guaranteeing the periodic production of elements, consider using the Observable.Sample set of operators.

    Exceptions
    Type Condition
    ArgumentNullException

    source or throttleDurationSelector is null.

    | Improve this Doc View Source

    Throw<TResult>(Exception)

    Returns an observable sequence that terminates with an exception.

    Declaration
    public static IObservable<TResult> Throw<TResult>(Exception exception)
    Parameters
    Type Name Description
    Exception exception

    Exception object used for the sequence's termination.

    Returns
    Type Description
    IObservable<TResult>

    The observable sequence that terminates exceptionally with the specified exception object.

    Type Parameters
    Name Description
    TResult

    The type used for the IObservable<T> type parameter of the resulting sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    exception is null.

    | Improve this Doc View Source

    Throw<TResult>(Exception, TResult)

    Returns an observable sequence that terminates with an exception.

    Declaration
    public static IObservable<TResult> Throw<TResult>(Exception exception, TResult witness)
    Parameters
    Type Name Description
    Exception exception

    Exception object used for the sequence's termination.

    TResult witness

    Object solely used to infer the type of the TResult type parameter. This parameter is typically used when creating a sequence of anonymously typed elements.

    Returns
    Type Description
    IObservable<TResult>

    The observable sequence that terminates exceptionally with the specified exception object.

    Type Parameters
    Name Description
    TResult

    The type used for the IObservable<T> type parameter of the resulting sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    exception is null.

    | Improve this Doc View Source

    Throw<TResult>(Exception, IScheduler)

    Returns an observable sequence that terminates with an exception, using the specified scheduler to send out the single OnError message.

    Declaration
    public static IObservable<TResult> Throw<TResult>(Exception exception, IScheduler scheduler)
    Parameters
    Type Name Description
    Exception exception

    Exception object used for the sequence's termination.

    IScheduler scheduler

    Scheduler to send the exceptional termination call on.

    Returns
    Type Description
    IObservable<TResult>

    The observable sequence that terminates exceptionally with the specified exception object.

    Type Parameters
    Name Description
    TResult

    The type used for the IObservable<T> type parameter of the resulting sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    exception or scheduler is null.

    | Improve this Doc View Source

    Throw<TResult>(Exception, IScheduler, TResult)

    Returns an observable sequence that terminates with an exception, using the specified scheduler to send out the single OnError message.

    Declaration
    public static IObservable<TResult> Throw<TResult>(Exception exception, IScheduler scheduler, TResult witness)
    Parameters
    Type Name Description
    Exception exception

    Exception object used for the sequence's termination.

    IScheduler scheduler

    Scheduler to send the exceptional termination call on.

    TResult witness

    Object solely used to infer the type of the TResult type parameter. This parameter is typically used when creating a sequence of anonymously typed elements.

    Returns
    Type Description
    IObservable<TResult>

    The observable sequence that terminates exceptionally with the specified exception object.

    Type Parameters
    Name Description
    TResult

    The type used for the IObservable<T> type parameter of the resulting sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    exception or scheduler is null.

    | Improve this Doc View Source

    TimeInterval<TSource>(IObservable<TSource>)

    Records the time interval between consecutive elements in an observable sequence.

    Declaration
    public static IObservable<TimeInterval<TSource>> TimeInterval<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to record time intervals for.

    Returns
    Type Description
    IObservable<TimeInterval<TSource>>

    An observable sequence with time interval information on elements.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    TimeInterval<TSource>(IObservable<TSource>, IScheduler)

    Records the time interval between consecutive elements in an observable sequence, using the specified scheduler to compute time intervals.

    Declaration
    public static IObservable<TimeInterval<TSource>> TimeInterval<TSource>(this IObservable<TSource> source, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to record time intervals for.

    IScheduler scheduler

    Scheduler used to compute time intervals.

    Returns
    Type Description
    IObservable<TimeInterval<TSource>>

    An observable sequence with time interval information on elements.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    | Improve this Doc View Source

    Timeout<TSource>(IObservable<TSource>, DateTimeOffset)

    Applies a timeout policy to the observable sequence based on an absolute time. If the sequence doesn't terminate before the specified absolute due time, a TimeoutException is propagated to the observer.

    Declaration
    public static IObservable<TSource> Timeout<TSource>(this IObservable<TSource> source, DateTimeOffset dueTime)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to perform a timeout for.

    DateTimeOffset dueTime

    Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence with a TimeoutException in case of a timeout.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    In case you only want to timeout on the first element, consider using the Amb<TSource>(IObservable<TSource>, IObservable<TSource>) operator applied to the source sequence and a delayed Throw<TResult>(Exception) sequence. Alternatively, the general-purpose overload of Timeout, Timeout<TSource, TTimeout>(IObservable<TSource>, IObservable<TTimeout>, Func<TSource, IObservable<TTimeout>>) can be used.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    TimeoutException

    (Asynchronous) If the sequence hasn't terminated before dueTime.

    | Improve this Doc View Source

    Timeout<TSource>(IObservable<TSource>, DateTimeOffset, IObservable<TSource>)

    Applies a timeout policy to the observable sequence based on an absolute time. If the sequence doesn't terminate before the specified absolute due time, the other observable sequence is used to produce future messages from that point on.

    Declaration
    public static IObservable<TSource> Timeout<TSource>(this IObservable<TSource> source, DateTimeOffset dueTime, IObservable<TSource> other)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to perform a timeout for.

    DateTimeOffset dueTime

    Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately.

    IObservable<TSource> other

    Sequence to return in case of a timeout.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence switching to the other sequence in case of a timeout.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence and the other sequence used upon a timeout.

    Remarks

    In case you only want to timeout on the first element, consider using the Amb<TSource>(IObservable<TSource>, IObservable<TSource>) operator applied to the source sequence and a delayed Throw<TResult>(Exception) sequence. Alternatively, the general-purpose overload of Timeout, Timeout<TSource, TTimeout>(IObservable<TSource>, IObservable<TTimeout>, Func<TSource, IObservable<TTimeout>>) can be used.

    Exceptions
    Type Condition
    ArgumentNullException

    source or other is null.

    | Improve this Doc View Source

    Timeout<TSource>(IObservable<TSource>, DateTimeOffset, IObservable<TSource>, IScheduler)

    Applies a timeout policy to the observable sequence based on an absolute time, using the specified scheduler to run timeout timers. If the sequence doesn't terminate before the specified absolute due time, the other observable sequence is used to produce future messages from that point on.

    Declaration
    public static IObservable<TSource> Timeout<TSource>(this IObservable<TSource> source, DateTimeOffset dueTime, IObservable<TSource> other, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to perform a timeout for.

    DateTimeOffset dueTime

    Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately.

    IObservable<TSource> other

    Sequence to return in case of a timeout.

    IScheduler scheduler

    Scheduler to run the timeout timers on.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence switching to the other sequence in case of a timeout.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence and the other sequence used upon a timeout.

    Remarks

    In case you only want to timeout on the first element, consider using the Amb<TSource>(IObservable<TSource>, IObservable<TSource>) operator applied to the source sequence and a delayed Throw<TResult>(Exception) sequence. Alternatively, the general-purpose overload of Timeout, Timeout<TSource, TTimeout>(IObservable<TSource>, IObservable<TTimeout>, Func<TSource, IObservable<TTimeout>>) can be used.

    Exceptions
    Type Condition
    ArgumentNullException

    source or other or scheduler is null.

    | Improve this Doc View Source

    Timeout<TSource>(IObservable<TSource>, DateTimeOffset, IScheduler)

    Applies a timeout policy to the observable sequence based on an absolute time, using the specified scheduler to run timeout timers. If the sequence doesn't terminate before the specified absolute due time, a TimeoutException is propagated to the observer.

    Declaration
    public static IObservable<TSource> Timeout<TSource>(this IObservable<TSource> source, DateTimeOffset dueTime, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to perform a timeout for.

    DateTimeOffset dueTime

    Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately.

    IScheduler scheduler

    Scheduler to run the timeout timers on.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence with a TimeoutException in case of a timeout.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    In case you only want to timeout on the first element, consider using the Amb<TSource>(IObservable<TSource>, IObservable<TSource>) operator applied to the source sequence and a delayed Throw<TResult>(Exception) sequence. Alternatively, the general-purpose overload of Timeout, Timeout<TSource, TTimeout>(IObservable<TSource>, IObservable<TTimeout>, Func<TSource, IObservable<TTimeout>>) can be used.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    TimeoutException

    (Asynchronous) If the sequence hasn't terminated before dueTime.

    | Improve this Doc View Source

    Timeout<TSource>(IObservable<TSource>, TimeSpan)

    Applies a timeout policy for each element in the observable sequence. If the next element isn't received within the specified timeout duration starting from its predecessor, a TimeoutException is propagated to the observer.

    Declaration
    public static IObservable<TSource> Timeout<TSource>(this IObservable<TSource> source, TimeSpan dueTime)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to perform a timeout for.

    TimeSpan dueTime

    Maximum duration between values before a timeout occurs.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence with a TimeoutException in case of a timeout.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    In case you only want to timeout on the first element, consider using the Amb<TSource>(IObservable<TSource>, IObservable<TSource>) operator applied to the source sequence and a delayed Throw<TResult>(Exception) sequence. Alternatively, the general-purpose overload of Timeout, Timeout<TSource, TTimeout>(IObservable<TSource>, IObservable<TTimeout>, Func<TSource, IObservable<TTimeout>>) can be used.

    Specifying a TimeSpan.Zero value for dueTime is not recommended but supported, causing timeout timers to be scheduled that are due immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may arrive before the scheduler gets a chance to run the timeout action.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    dueTime is less than TimeSpan.Zero.

    TimeoutException

    (Asynchronous) If no element is produced within dueTime from the previous element.

    | Improve this Doc View Source

    Timeout<TSource>(IObservable<TSource>, TimeSpan, IObservable<TSource>)

    Applies a timeout policy for each element in the observable sequence. If the next element isn't received within the specified timeout duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on.

    Declaration
    public static IObservable<TSource> Timeout<TSource>(this IObservable<TSource> source, TimeSpan dueTime, IObservable<TSource> other)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to perform a timeout for.

    TimeSpan dueTime

    Maximum duration between values before a timeout occurs.

    IObservable<TSource> other

    Sequence to return in case of a timeout.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence switching to the other sequence in case of a timeout.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence and the other sequence used upon a timeout.

    Remarks

    In case you only want to timeout on the first element, consider using the Amb<TSource>(IObservable<TSource>, IObservable<TSource>) operator applied to the source sequence and a delayed Throw<TResult>(Exception) sequence. Alternatively, the general-purpose overload of Timeout, Timeout<TSource, TTimeout>(IObservable<TSource>, IObservable<TTimeout>, Func<TSource, IObservable<TTimeout>>) can be used.

    Specifying a TimeSpan.Zero value for dueTime is not recommended but supported, causing timeout timers to be scheduled that are due immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may arrive before the scheduler gets a chance to run the timeout action.

    Exceptions
    Type Condition
    ArgumentNullException

    source or other is null.

    ArgumentOutOfRangeException

    dueTime is less than TimeSpan.Zero.

    | Improve this Doc View Source

    Timeout<TSource>(IObservable<TSource>, TimeSpan, IObservable<TSource>, IScheduler)

    Applies a timeout policy for each element in the observable sequence, using the specified scheduler to run timeout timers. If the next element isn't received within the specified timeout duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on.

    Declaration
    public static IObservable<TSource> Timeout<TSource>(this IObservable<TSource> source, TimeSpan dueTime, IObservable<TSource> other, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to perform a timeout for.

    TimeSpan dueTime

    Maximum duration between values before a timeout occurs.

    IObservable<TSource> other

    Sequence to return in case of a timeout.

    IScheduler scheduler

    Scheduler to run the timeout timers on.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence switching to the other sequence in case of a timeout.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence and the other sequence used upon a timeout.

    Remarks

    In case you only want to timeout on the first element, consider using the Amb<TSource>(IObservable<TSource>, IObservable<TSource>) operator applied to the source sequence and a delayed Throw<TResult>(Exception) sequence. Alternatively, the general-purpose overload of Timeout, Timeout<TSource, TTimeout>(IObservable<TSource>, IObservable<TTimeout>, Func<TSource, IObservable<TTimeout>>) can be used.

    Specifying a TimeSpan.Zero value for dueTime is not recommended but supported, causing timeout timers to be scheduled that are due immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may arrive before the scheduler gets a chance to run the timeout action.

    Exceptions
    Type Condition
    ArgumentNullException

    source or other or scheduler is null.

    ArgumentOutOfRangeException

    dueTime is less than TimeSpan.Zero.

    | Improve this Doc View Source

    Timeout<TSource>(IObservable<TSource>, TimeSpan, IScheduler)

    Applies a timeout policy for each element in the observable sequence, using the specified scheduler to run timeout timers. If the next element isn't received within the specified timeout duration starting from its predecessor, a TimeoutException is propagated to the observer.

    Declaration
    public static IObservable<TSource> Timeout<TSource>(this IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to perform a timeout for.

    TimeSpan dueTime

    Maximum duration between values before a timeout occurs.

    IScheduler scheduler

    Scheduler to run the timeout timers on.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence with a TimeoutException in case of a timeout.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    In case you only want to timeout on the first element, consider using the Amb<TSource>(IObservable<TSource>, IObservable<TSource>) operator applied to the source sequence and a delayed Throw<TResult>(Exception) sequence. Alternatively, the general-purpose overload of Timeout, Timeout<TSource, TTimeout>(IObservable<TSource>, IObservable<TTimeout>, Func<TSource, IObservable<TTimeout>>) can be used.

    Specifying a TimeSpan.Zero value for dueTime is not recommended but supported, causing timeout timers to be scheduled that are due immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may arrive before the scheduler gets a chance to run the timeout action.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    ArgumentOutOfRangeException

    dueTime is less than TimeSpan.Zero.

    TimeoutException

    (Asynchronous) If no element is produced within dueTime from the previous element.

    | Improve this Doc View Source

    Timeout<TSource, TTimeout>(IObservable<TSource>, Func<TSource, IObservable<TTimeout>>)

    Applies a timeout policy to the observable sequence based on a timeout duration computed for each element. If the next element isn't received within the computed duration starting from its predecessor, a TimeoutException is propagated to the observer.

    Declaration
    public static IObservable<TSource> Timeout<TSource, TTimeout>(this IObservable<TSource> source, Func<TSource, IObservable<TTimeout>> timeoutDurationSelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to perform a timeout for.

    Func<TSource, IObservable<TTimeout>> timeoutDurationSelector

    Selector to retrieve an observable sequence that represents the timeout between the current element and the next element.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence with a TimeoutException in case of a timeout.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TTimeout

    The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or timeoutDurationSelector is null.

    | Improve this Doc View Source

    Timeout<TSource, TTimeout>(IObservable<TSource>, Func<TSource, IObservable<TTimeout>>, IObservable<TSource>)

    Applies a timeout policy to the observable sequence based on a timeout duration computed for each element. If the next element isn't received within the computed duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on.

    Declaration
    public static IObservable<TSource> Timeout<TSource, TTimeout>(this IObservable<TSource> source, Func<TSource, IObservable<TTimeout>> timeoutDurationSelector, IObservable<TSource> other)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to perform a timeout for.

    Func<TSource, IObservable<TTimeout>> timeoutDurationSelector

    Selector to retrieve an observable sequence that represents the timeout between the current element and the next element.

    IObservable<TSource> other

    Sequence to return in case of a timeout.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence switching to the other sequence in case of a timeout.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence and the other sequence used upon a timeout.

    TTimeout

    The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or timeoutDurationSelector or other is null.

    | Improve this Doc View Source

    Timeout<TSource, TTimeout>(IObservable<TSource>, IObservable<TTimeout>, Func<TSource, IObservable<TTimeout>>)

    Applies a timeout policy to the observable sequence based on an initial timeout duration for the first element, and a timeout duration computed for each subsequent element. If the next element isn't received within the computed duration starting from its predecessor, a TimeoutException is propagated to the observer.

    Declaration
    public static IObservable<TSource> Timeout<TSource, TTimeout>(this IObservable<TSource> source, IObservable<TTimeout> firstTimeout, Func<TSource, IObservable<TTimeout>> timeoutDurationSelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to perform a timeout for.

    IObservable<TTimeout> firstTimeout

    Observable sequence that represents the timeout for the first element.

    Func<TSource, IObservable<TTimeout>> timeoutDurationSelector

    Selector to retrieve an observable sequence that represents the timeout between the current element and the next element.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence with a TimeoutException in case of a timeout.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TTimeout

    The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or firstTimeout or timeoutDurationSelector is null.

    | Improve this Doc View Source

    Timeout<TSource, TTimeout>(IObservable<TSource>, IObservable<TTimeout>, Func<TSource, IObservable<TTimeout>>, IObservable<TSource>)

    Applies a timeout policy to the observable sequence based on an initial timeout duration for the first element, and a timeout duration computed for each subsequent element. If the next element isn't received within the computed duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on.

    Declaration
    public static IObservable<TSource> Timeout<TSource, TTimeout>(this IObservable<TSource> source, IObservable<TTimeout> firstTimeout, Func<TSource, IObservable<TTimeout>> timeoutDurationSelector, IObservable<TSource> other)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to perform a timeout for.

    IObservable<TTimeout> firstTimeout

    Observable sequence that represents the timeout for the first element.

    Func<TSource, IObservable<TTimeout>> timeoutDurationSelector

    Selector to retrieve an observable sequence that represents the timeout between the current element and the next element.

    IObservable<TSource> other

    Sequence to return in case of a timeout.

    Returns
    Type Description
    IObservable<TSource>

    The source sequence switching to the other sequence in case of a timeout.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence and the other sequence used upon a timeout.

    TTimeout

    The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or firstTimeout or timeoutDurationSelector or other is null.

    | Improve this Doc View Source

    Timer(DateTimeOffset)

    Returns an observable sequence that produces a single value at the specified absolute due time.

    Declaration
    public static IObservable<long> Timer(DateTimeOffset dueTime)
    Parameters
    Type Name Description
    DateTimeOffset dueTime

    Absolute time at which to produce the value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible.

    Returns
    Type Description
    IObservable<Int64>

    An observable sequence that produces a value at due time.

    | Improve this Doc View Source

    Timer(DateTimeOffset, IScheduler)

    Returns an observable sequence that produces a single value at the specified absolute due time, using the specified scheduler to run the timer.

    Declaration
    public static IObservable<long> Timer(DateTimeOffset dueTime, IScheduler scheduler)
    Parameters
    Type Name Description
    DateTimeOffset dueTime

    Absolute time at which to produce the value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible.

    IScheduler scheduler

    Scheduler to run the timer on.

    Returns
    Type Description
    IObservable<Int64>

    An observable sequence that produces a value at due time.

    Exceptions
    Type Condition
    ArgumentNullException

    scheduler is null.

    | Improve this Doc View Source

    Timer(DateTimeOffset, TimeSpan)

    Returns an observable sequence that periodically produces a value starting at the specified initial absolute due time.

    Declaration
    public static IObservable<long> Timer(DateTimeOffset dueTime, TimeSpan period)
    Parameters
    Type Name Description
    DateTimeOffset dueTime

    Absolute time at which to produce the first value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible.

    TimeSpan period

    Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible.

    Returns
    Type Description
    IObservable<Int64>

    An observable sequence that produces a value at due time and then after each period.

    Exceptions
    Type Condition
    ArgumentOutOfRangeException

    period is less than TimeSpan.Zero.

    | Improve this Doc View Source

    Timer(DateTimeOffset, TimeSpan, IScheduler)

    Returns an observable sequence that periodically produces a value starting at the specified initial absolute due time, using the specified scheduler to run timers.

    Declaration
    public static IObservable<long> Timer(DateTimeOffset dueTime, TimeSpan period, IScheduler scheduler)
    Parameters
    Type Name Description
    DateTimeOffset dueTime

    Absolute time at which to produce the first value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible.

    TimeSpan period

    Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible.

    IScheduler scheduler

    Scheduler to run timers on.

    Returns
    Type Description
    IObservable<Int64>

    An observable sequence that produces a value at due time and then after each period.

    Exceptions
    Type Condition
    ArgumentOutOfRangeException

    period is less than TimeSpan.Zero.

    ArgumentNullException

    scheduler is null.

    | Improve this Doc View Source

    Timer(TimeSpan)

    Returns an observable sequence that produces a single value after the specified relative due time has elapsed.

    Declaration
    public static IObservable<long> Timer(TimeSpan dueTime)
    Parameters
    Type Name Description
    TimeSpan dueTime

    Relative time at which to produce the value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible.

    Returns
    Type Description
    IObservable<Int64>

    An observable sequence that produces a value after the due time has elapsed.

    | Improve this Doc View Source

    Timer(TimeSpan, IScheduler)

    Returns an observable sequence that produces a single value after the specified relative due time has elapsed, using the specified scheduler to run the timer.

    Declaration
    public static IObservable<long> Timer(TimeSpan dueTime, IScheduler scheduler)
    Parameters
    Type Name Description
    TimeSpan dueTime

    Relative time at which to produce the value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible.

    IScheduler scheduler

    Scheduler to run the timer on.

    Returns
    Type Description
    IObservable<Int64>

    An observable sequence that produces a value after the due time has elapsed.

    Exceptions
    Type Condition
    ArgumentNullException

    scheduler is null.

    | Improve this Doc View Source

    Timer(TimeSpan, TimeSpan)

    Returns an observable sequence that periodically produces a value after the specified initial relative due time has elapsed.

    Declaration
    public static IObservable<long> Timer(TimeSpan dueTime, TimeSpan period)
    Parameters
    Type Name Description
    TimeSpan dueTime

    Relative time at which to produce the first value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible.

    TimeSpan period

    Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible.

    Returns
    Type Description
    IObservable<Int64>

    An observable sequence that produces a value after due time has elapsed and then after each period.

    Exceptions
    Type Condition
    ArgumentOutOfRangeException

    period is less than TimeSpan.Zero.

    | Improve this Doc View Source

    Timer(TimeSpan, TimeSpan, IScheduler)

    Returns an observable sequence that periodically produces a value after the specified initial relative due time has elapsed, using the specified scheduler to run timers.

    Declaration
    public static IObservable<long> Timer(TimeSpan dueTime, TimeSpan period, IScheduler scheduler)
    Parameters
    Type Name Description
    TimeSpan dueTime

    Relative time at which to produce the first value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible.

    TimeSpan period

    Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible.

    IScheduler scheduler

    Scheduler to run timers on.

    Returns
    Type Description
    IObservable<Int64>

    An observable sequence that produces a value after due time has elapsed and then each period.

    Exceptions
    Type Condition
    ArgumentOutOfRangeException

    period is less than TimeSpan.Zero.

    ArgumentNullException

    scheduler is null.

    | Improve this Doc View Source

    Timestamp<TSource>(IObservable<TSource>)

    Timestamps each element in an observable sequence using the local system clock.

    Declaration
    public static IObservable<Timestamped<TSource>> Timestamp<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to timestamp elements for.

    Returns
    Type Description
    IObservable<Timestamped<TSource>>

    An observable sequence with timestamp information on elements.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    Timestamp<TSource>(IObservable<TSource>, IScheduler)

    Timestamp each element in an observable sequence using the clock of the specified scheduler.

    Declaration
    public static IObservable<Timestamped<TSource>> Timestamp<TSource>(this IObservable<TSource> source, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to timestamp elements for.

    IScheduler scheduler

    Scheduler used to compute timestamps.

    Returns
    Type Description
    IObservable<Timestamped<TSource>>

    An observable sequence with timestamp information on elements.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    | Improve this Doc View Source

    ToArray<TSource>(IObservable<TSource>)

    Creates an array from an observable sequence.

    Declaration
    public static IObservable<TSource[]> ToArray<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    The source observable sequence to get an array of elements for.

    Returns
    Type Description
    IObservable<TSource[]>

    An observable sequence containing a single element with an array containing all the elements of the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    ToAsync(Action)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.

    Declaration
    public static Func<IObservable<Unit>> ToAsync(this Action action)
    Parameters
    Type Name Description
    Action action

    Action to convert to an asynchronous action.

    Returns
    Type Description
    Func<IObservable<Unit>>

    Asynchronous action.

    Exceptions
    Type Condition
    ArgumentNullException

    action is null.

    | Improve this Doc View Source

    ToAsync(Action, IScheduler)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.

    Declaration
    public static Func<IObservable<Unit>> ToAsync(this Action action, IScheduler scheduler)
    Parameters
    Type Name Description
    Action action

    Action to convert to an asynchronous action.

    IScheduler scheduler

    Scheduler to invoke the original action on.

    Returns
    Type Description
    Func<IObservable<Unit>>

    Asynchronous action.

    Exceptions
    Type Condition
    ArgumentNullException

    action or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1>(Action<TArg1>)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.

    Declaration
    public static Func<TArg1, IObservable<Unit>> ToAsync<TArg1>(this Action<TArg1> action)
    Parameters
    Type Name Description
    Action<TArg1> action

    Action to convert to an asynchronous action.

    Returns
    Type Description
    Func<TArg1, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action is null.

    | Improve this Doc View Source

    ToAsync<TArg1>(Action<TArg1>, IScheduler)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.

    Declaration
    public static Func<TArg1, IObservable<Unit>> ToAsync<TArg1>(this Action<TArg1> action, IScheduler scheduler)
    Parameters
    Type Name Description
    Action<TArg1> action

    Action to convert to an asynchronous action.

    IScheduler scheduler

    Scheduler to invoke the original action on.

    Returns
    Type Description
    Func<TArg1, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TResult>(Func<TResult>)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.

    Declaration
    public static Func<IObservable<TResult>> ToAsync<TResult>(this Func<TResult> function)
    Parameters
    Type Name Description
    Func<TResult> function

    Function to convert to an asynchronous function.

    Returns
    Type Description
    Func<IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function is null.

    | Improve this Doc View Source

    ToAsync<TResult>(Func<TResult>, IScheduler)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.

    Declaration
    public static Func<IObservable<TResult>> ToAsync<TResult>(this Func<TResult> function, IScheduler scheduler)
    Parameters
    Type Name Description
    Func<TResult> function

    Function to convert to an asynchronous function.

    IScheduler scheduler

    Scheduler to invoke the original function on.

    Returns
    Type Description
    Func<IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10>(Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10>)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10> action)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10> action

    Action to convert to an asynchronous action.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    TArg6

    The type of the sixth argument passed to the action.

    TArg7

    The type of the seventh argument passed to the action.

    TArg8

    The type of the eighth argument passed to the action.

    TArg9

    The type of the ninth argument passed to the action.

    TArg10

    The type of the tenth argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10>(Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10>, IScheduler)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10> action, IScheduler scheduler)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10> action

    Action to convert to an asynchronous action.

    IScheduler scheduler

    Scheduler to invoke the original action on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    TArg6

    The type of the sixth argument passed to the action.

    TArg7

    The type of the seventh argument passed to the action.

    TArg8

    The type of the eighth argument passed to the action.

    TArg9

    The type of the ninth argument passed to the action.

    TArg10

    The type of the tenth argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TResult>)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TResult> function)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TResult> function

    Function to convert to an asynchronous function.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TArg6

    The type of the sixth argument passed to the function.

    TArg7

    The type of the seventh argument passed to the function.

    TArg8

    The type of the eighth argument passed to the function.

    TArg9

    The type of the ninth argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TResult>, IScheduler)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TResult> function, IScheduler scheduler)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TResult> function

    Function to convert to an asynchronous function.

    IScheduler scheduler

    Scheduler to invoke the original function on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TArg6

    The type of the sixth argument passed to the function.

    TArg7

    The type of the seventh argument passed to the function.

    TArg8

    The type of the eighth argument passed to the function.

    TArg9

    The type of the ninth argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11>(Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11>)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11> action)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11> action

    Action to convert to an asynchronous action.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    TArg6

    The type of the sixth argument passed to the action.

    TArg7

    The type of the seventh argument passed to the action.

    TArg8

    The type of the eighth argument passed to the action.

    TArg9

    The type of the ninth argument passed to the action.

    TArg10

    The type of the tenth argument passed to the action.

    TArg11

    The type of the eleventh argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11>(Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11>, IScheduler)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11> action, IScheduler scheduler)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11> action

    Action to convert to an asynchronous action.

    IScheduler scheduler

    Scheduler to invoke the original action on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    TArg6

    The type of the sixth argument passed to the action.

    TArg7

    The type of the seventh argument passed to the action.

    TArg8

    The type of the eighth argument passed to the action.

    TArg9

    The type of the ninth argument passed to the action.

    TArg10

    The type of the tenth argument passed to the action.

    TArg11

    The type of the eleventh argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TResult>)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TResult> function)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TResult> function

    Function to convert to an asynchronous function.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TArg6

    The type of the sixth argument passed to the function.

    TArg7

    The type of the seventh argument passed to the function.

    TArg8

    The type of the eighth argument passed to the function.

    TArg9

    The type of the ninth argument passed to the function.

    TArg10

    The type of the tenth argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TResult>, IScheduler)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TResult> function, IScheduler scheduler)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TResult> function

    Function to convert to an asynchronous function.

    IScheduler scheduler

    Scheduler to invoke the original function on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TArg6

    The type of the sixth argument passed to the function.

    TArg7

    The type of the seventh argument passed to the function.

    TArg8

    The type of the eighth argument passed to the function.

    TArg9

    The type of the ninth argument passed to the function.

    TArg10

    The type of the tenth argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12>(Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12>)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12> action)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12> action

    Action to convert to an asynchronous action.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    TArg6

    The type of the sixth argument passed to the action.

    TArg7

    The type of the seventh argument passed to the action.

    TArg8

    The type of the eighth argument passed to the action.

    TArg9

    The type of the ninth argument passed to the action.

    TArg10

    The type of the tenth argument passed to the action.

    TArg11

    The type of the eleventh argument passed to the action.

    TArg12

    The type of the twelfth argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12>(Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12>, IScheduler)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12> action, IScheduler scheduler)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12> action

    Action to convert to an asynchronous action.

    IScheduler scheduler

    Scheduler to invoke the original action on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    TArg6

    The type of the sixth argument passed to the action.

    TArg7

    The type of the seventh argument passed to the action.

    TArg8

    The type of the eighth argument passed to the action.

    TArg9

    The type of the ninth argument passed to the action.

    TArg10

    The type of the tenth argument passed to the action.

    TArg11

    The type of the eleventh argument passed to the action.

    TArg12

    The type of the twelfth argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TResult>)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TResult> function)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TResult> function

    Function to convert to an asynchronous function.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TArg6

    The type of the sixth argument passed to the function.

    TArg7

    The type of the seventh argument passed to the function.

    TArg8

    The type of the eighth argument passed to the function.

    TArg9

    The type of the ninth argument passed to the function.

    TArg10

    The type of the tenth argument passed to the function.

    TArg11

    The type of the eleventh argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TResult>, IScheduler)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TResult> function, IScheduler scheduler)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TResult> function

    Function to convert to an asynchronous function.

    IScheduler scheduler

    Scheduler to invoke the original function on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TArg6

    The type of the sixth argument passed to the function.

    TArg7

    The type of the seventh argument passed to the function.

    TArg8

    The type of the eighth argument passed to the function.

    TArg9

    The type of the ninth argument passed to the function.

    TArg10

    The type of the tenth argument passed to the function.

    TArg11

    The type of the eleventh argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13>(Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13>)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13> action)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13> action

    Action to convert to an asynchronous action.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    TArg6

    The type of the sixth argument passed to the action.

    TArg7

    The type of the seventh argument passed to the action.

    TArg8

    The type of the eighth argument passed to the action.

    TArg9

    The type of the ninth argument passed to the action.

    TArg10

    The type of the tenth argument passed to the action.

    TArg11

    The type of the eleventh argument passed to the action.

    TArg12

    The type of the twelfth argument passed to the action.

    TArg13

    The type of the thirteenth argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13>(Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13>, IScheduler)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13> action, IScheduler scheduler)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13> action

    Action to convert to an asynchronous action.

    IScheduler scheduler

    Scheduler to invoke the original action on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    TArg6

    The type of the sixth argument passed to the action.

    TArg7

    The type of the seventh argument passed to the action.

    TArg8

    The type of the eighth argument passed to the action.

    TArg9

    The type of the ninth argument passed to the action.

    TArg10

    The type of the tenth argument passed to the action.

    TArg11

    The type of the eleventh argument passed to the action.

    TArg12

    The type of the twelfth argument passed to the action.

    TArg13

    The type of the thirteenth argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TResult>)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TResult> function)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TResult> function

    Function to convert to an asynchronous function.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TArg6

    The type of the sixth argument passed to the function.

    TArg7

    The type of the seventh argument passed to the function.

    TArg8

    The type of the eighth argument passed to the function.

    TArg9

    The type of the ninth argument passed to the function.

    TArg10

    The type of the tenth argument passed to the function.

    TArg11

    The type of the eleventh argument passed to the function.

    TArg12

    The type of the twelfth argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TResult>, IScheduler)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TResult> function, IScheduler scheduler)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TResult> function

    Function to convert to an asynchronous function.

    IScheduler scheduler

    Scheduler to invoke the original function on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TArg6

    The type of the sixth argument passed to the function.

    TArg7

    The type of the seventh argument passed to the function.

    TArg8

    The type of the eighth argument passed to the function.

    TArg9

    The type of the ninth argument passed to the function.

    TArg10

    The type of the tenth argument passed to the function.

    TArg11

    The type of the eleventh argument passed to the function.

    TArg12

    The type of the twelfth argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14>(Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14>)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14> action)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14> action

    Action to convert to an asynchronous action.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    TArg6

    The type of the sixth argument passed to the action.

    TArg7

    The type of the seventh argument passed to the action.

    TArg8

    The type of the eighth argument passed to the action.

    TArg9

    The type of the ninth argument passed to the action.

    TArg10

    The type of the tenth argument passed to the action.

    TArg11

    The type of the eleventh argument passed to the action.

    TArg12

    The type of the twelfth argument passed to the action.

    TArg13

    The type of the thirteenth argument passed to the action.

    TArg14

    The type of the fourteenth argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14>(Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14>, IScheduler)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14> action, IScheduler scheduler)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14> action

    Action to convert to an asynchronous action.

    IScheduler scheduler

    Scheduler to invoke the original action on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    TArg6

    The type of the sixth argument passed to the action.

    TArg7

    The type of the seventh argument passed to the action.

    TArg8

    The type of the eighth argument passed to the action.

    TArg9

    The type of the ninth argument passed to the action.

    TArg10

    The type of the tenth argument passed to the action.

    TArg11

    The type of the eleventh argument passed to the action.

    TArg12

    The type of the twelfth argument passed to the action.

    TArg13

    The type of the thirteenth argument passed to the action.

    TArg14

    The type of the fourteenth argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TResult>)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TResult> function)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TResult> function

    Function to convert to an asynchronous function.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TArg6

    The type of the sixth argument passed to the function.

    TArg7

    The type of the seventh argument passed to the function.

    TArg8

    The type of the eighth argument passed to the function.

    TArg9

    The type of the ninth argument passed to the function.

    TArg10

    The type of the tenth argument passed to the function.

    TArg11

    The type of the eleventh argument passed to the function.

    TArg12

    The type of the twelfth argument passed to the function.

    TArg13

    The type of the thirteenth argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TResult>, IScheduler)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TResult> function, IScheduler scheduler)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TResult> function

    Function to convert to an asynchronous function.

    IScheduler scheduler

    Scheduler to invoke the original function on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TArg6

    The type of the sixth argument passed to the function.

    TArg7

    The type of the seventh argument passed to the function.

    TArg8

    The type of the eighth argument passed to the function.

    TArg9

    The type of the ninth argument passed to the function.

    TArg10

    The type of the tenth argument passed to the function.

    TArg11

    The type of the eleventh argument passed to the function.

    TArg12

    The type of the twelfth argument passed to the function.

    TArg13

    The type of the thirteenth argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15>(Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15>)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15> action)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15> action

    Action to convert to an asynchronous action.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    TArg6

    The type of the sixth argument passed to the action.

    TArg7

    The type of the seventh argument passed to the action.

    TArg8

    The type of the eighth argument passed to the action.

    TArg9

    The type of the ninth argument passed to the action.

    TArg10

    The type of the tenth argument passed to the action.

    TArg11

    The type of the eleventh argument passed to the action.

    TArg12

    The type of the twelfth argument passed to the action.

    TArg13

    The type of the thirteenth argument passed to the action.

    TArg14

    The type of the fourteenth argument passed to the action.

    TArg15

    The type of the fifteenth argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15>(Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15>, IScheduler)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15> action, IScheduler scheduler)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15> action

    Action to convert to an asynchronous action.

    IScheduler scheduler

    Scheduler to invoke the original action on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    TArg6

    The type of the sixth argument passed to the action.

    TArg7

    The type of the seventh argument passed to the action.

    TArg8

    The type of the eighth argument passed to the action.

    TArg9

    The type of the ninth argument passed to the action.

    TArg10

    The type of the tenth argument passed to the action.

    TArg11

    The type of the eleventh argument passed to the action.

    TArg12

    The type of the twelfth argument passed to the action.

    TArg13

    The type of the thirteenth argument passed to the action.

    TArg14

    The type of the fourteenth argument passed to the action.

    TArg15

    The type of the fifteenth argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TResult>)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TResult> function)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TResult> function

    Function to convert to an asynchronous function.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TArg6

    The type of the sixth argument passed to the function.

    TArg7

    The type of the seventh argument passed to the function.

    TArg8

    The type of the eighth argument passed to the function.

    TArg9

    The type of the ninth argument passed to the function.

    TArg10

    The type of the tenth argument passed to the function.

    TArg11

    The type of the eleventh argument passed to the function.

    TArg12

    The type of the twelfth argument passed to the function.

    TArg13

    The type of the thirteenth argument passed to the function.

    TArg14

    The type of the fourteenth argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TResult>, IScheduler)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TResult> function, IScheduler scheduler)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TResult> function

    Function to convert to an asynchronous function.

    IScheduler scheduler

    Scheduler to invoke the original function on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TArg6

    The type of the sixth argument passed to the function.

    TArg7

    The type of the seventh argument passed to the function.

    TArg8

    The type of the eighth argument passed to the function.

    TArg9

    The type of the ninth argument passed to the function.

    TArg10

    The type of the tenth argument passed to the function.

    TArg11

    The type of the eleventh argument passed to the function.

    TArg12

    The type of the twelfth argument passed to the function.

    TArg13

    The type of the thirteenth argument passed to the function.

    TArg14

    The type of the fourteenth argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16>(Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16>)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16> action)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16> action

    Action to convert to an asynchronous action.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    TArg6

    The type of the sixth argument passed to the action.

    TArg7

    The type of the seventh argument passed to the action.

    TArg8

    The type of the eighth argument passed to the action.

    TArg9

    The type of the ninth argument passed to the action.

    TArg10

    The type of the tenth argument passed to the action.

    TArg11

    The type of the eleventh argument passed to the action.

    TArg12

    The type of the twelfth argument passed to the action.

    TArg13

    The type of the thirteenth argument passed to the action.

    TArg14

    The type of the fourteenth argument passed to the action.

    TArg15

    The type of the fifteenth argument passed to the action.

    TArg16

    The type of the sixteenth argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16>(Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16>, IScheduler)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16> action, IScheduler scheduler)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16> action

    Action to convert to an asynchronous action.

    IScheduler scheduler

    Scheduler to invoke the original action on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    TArg6

    The type of the sixth argument passed to the action.

    TArg7

    The type of the seventh argument passed to the action.

    TArg8

    The type of the eighth argument passed to the action.

    TArg9

    The type of the ninth argument passed to the action.

    TArg10

    The type of the tenth argument passed to the action.

    TArg11

    The type of the eleventh argument passed to the action.

    TArg12

    The type of the twelfth argument passed to the action.

    TArg13

    The type of the thirteenth argument passed to the action.

    TArg14

    The type of the fourteenth argument passed to the action.

    TArg15

    The type of the fifteenth argument passed to the action.

    TArg16

    The type of the sixteenth argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TResult>)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TResult> function)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TResult> function

    Function to convert to an asynchronous function.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TArg6

    The type of the sixth argument passed to the function.

    TArg7

    The type of the seventh argument passed to the function.

    TArg8

    The type of the eighth argument passed to the function.

    TArg9

    The type of the ninth argument passed to the function.

    TArg10

    The type of the tenth argument passed to the function.

    TArg11

    The type of the eleventh argument passed to the function.

    TArg12

    The type of the twelfth argument passed to the function.

    TArg13

    The type of the thirteenth argument passed to the function.

    TArg14

    The type of the fourteenth argument passed to the function.

    TArg15

    The type of the fifteenth argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TResult>, IScheduler)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TResult> function, IScheduler scheduler)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TResult> function

    Function to convert to an asynchronous function.

    IScheduler scheduler

    Scheduler to invoke the original function on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TArg6

    The type of the sixth argument passed to the function.

    TArg7

    The type of the seventh argument passed to the function.

    TArg8

    The type of the eighth argument passed to the function.

    TArg9

    The type of the ninth argument passed to the function.

    TArg10

    The type of the tenth argument passed to the function.

    TArg11

    The type of the eleventh argument passed to the function.

    TArg12

    The type of the twelfth argument passed to the function.

    TArg13

    The type of the thirteenth argument passed to the function.

    TArg14

    The type of the fourteenth argument passed to the function.

    TArg15

    The type of the fifteenth argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16, TResult>)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16, TResult> function)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16, TResult> function

    Function to convert to an asynchronous function.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TArg6

    The type of the sixth argument passed to the function.

    TArg7

    The type of the seventh argument passed to the function.

    TArg8

    The type of the eighth argument passed to the function.

    TArg9

    The type of the ninth argument passed to the function.

    TArg10

    The type of the tenth argument passed to the function.

    TArg11

    The type of the eleventh argument passed to the function.

    TArg12

    The type of the twelfth argument passed to the function.

    TArg13

    The type of the thirteenth argument passed to the function.

    TArg14

    The type of the fourteenth argument passed to the function.

    TArg15

    The type of the fifteenth argument passed to the function.

    TArg16

    The type of the sixteenth argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16, TResult>, IScheduler)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16, TResult> function, IScheduler scheduler)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16, TResult> function

    Function to convert to an asynchronous function.

    IScheduler scheduler

    Scheduler to invoke the original function on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TArg6

    The type of the sixth argument passed to the function.

    TArg7

    The type of the seventh argument passed to the function.

    TArg8

    The type of the eighth argument passed to the function.

    TArg9

    The type of the ninth argument passed to the function.

    TArg10

    The type of the tenth argument passed to the function.

    TArg11

    The type of the eleventh argument passed to the function.

    TArg12

    The type of the twelfth argument passed to the function.

    TArg13

    The type of the thirteenth argument passed to the function.

    TArg14

    The type of the fourteenth argument passed to the function.

    TArg15

    The type of the fifteenth argument passed to the function.

    TArg16

    The type of the sixteenth argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2>(Action<TArg1, TArg2>)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.

    Declaration
    public static Func<TArg1, TArg2, IObservable<Unit>> ToAsync<TArg1, TArg2>(this Action<TArg1, TArg2> action)
    Parameters
    Type Name Description
    Action<TArg1, TArg2> action

    Action to convert to an asynchronous action.

    Returns
    Type Description
    Func<TArg1, TArg2, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2>(Action<TArg1, TArg2>, IScheduler)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, IObservable<Unit>> ToAsync<TArg1, TArg2>(this Action<TArg1, TArg2> action, IScheduler scheduler)
    Parameters
    Type Name Description
    Action<TArg1, TArg2> action

    Action to convert to an asynchronous action.

    IScheduler scheduler

    Scheduler to invoke the original action on.

    Returns
    Type Description
    Func<TArg1, TArg2, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TResult>(Func<TArg1, TResult>)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.

    Declaration
    public static Func<TArg1, IObservable<TResult>> ToAsync<TArg1, TResult>(this Func<TArg1, TResult> function)
    Parameters
    Type Name Description
    Func<TArg1, TResult> function

    Function to convert to an asynchronous function.

    Returns
    Type Description
    Func<TArg1, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TResult>(Func<TArg1, TResult>, IScheduler)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.

    Declaration
    public static Func<TArg1, IObservable<TResult>> ToAsync<TArg1, TResult>(this Func<TArg1, TResult> function, IScheduler scheduler)
    Parameters
    Type Name Description
    Func<TArg1, TResult> function

    Function to convert to an asynchronous function.

    IScheduler scheduler

    Scheduler to invoke the original function on.

    Returns
    Type Description
    Func<TArg1, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3>(Action<TArg1, TArg2, TArg3>)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3>(this Action<TArg1, TArg2, TArg3> action)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3> action

    Action to convert to an asynchronous action.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3>(Action<TArg1, TArg2, TArg3>, IScheduler)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3>(this Action<TArg1, TArg2, TArg3> action, IScheduler scheduler)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3> action

    Action to convert to an asynchronous action.

    IScheduler scheduler

    Scheduler to invoke the original action on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TResult>(Func<TArg1, TArg2, TResult>)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.

    Declaration
    public static Func<TArg1, TArg2, IObservable<TResult>> ToAsync<TArg1, TArg2, TResult>(this Func<TArg1, TArg2, TResult> function)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TResult> function

    Function to convert to an asynchronous function.

    Returns
    Type Description
    Func<TArg1, TArg2, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TResult>(Func<TArg1, TArg2, TResult>, IScheduler)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, IObservable<TResult>> ToAsync<TArg1, TArg2, TResult>(this Func<TArg1, TArg2, TResult> function, IScheduler scheduler)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TResult> function

    Function to convert to an asynchronous function.

    IScheduler scheduler

    Scheduler to invoke the original function on.

    Returns
    Type Description
    Func<TArg1, TArg2, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4>(Action<TArg1, TArg2, TArg3, TArg4>)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4>(this Action<TArg1, TArg2, TArg3, TArg4> action)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4> action

    Action to convert to an asynchronous action.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4>(Action<TArg1, TArg2, TArg3, TArg4>, IScheduler)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4>(this Action<TArg1, TArg2, TArg3, TArg4> action, IScheduler scheduler)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4> action

    Action to convert to an asynchronous action.

    IScheduler scheduler

    Scheduler to invoke the original action on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TResult>(Func<TArg1, TArg2, TArg3, TResult>)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TResult>(this Func<TArg1, TArg2, TArg3, TResult> function)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TResult> function

    Function to convert to an asynchronous function.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TResult>(Func<TArg1, TArg2, TArg3, TResult>, IScheduler)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TResult>(this Func<TArg1, TArg2, TArg3, TResult> function, IScheduler scheduler)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TResult> function

    Function to convert to an asynchronous function.

    IScheduler scheduler

    Scheduler to invoke the original function on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5>(Action<TArg1, TArg2, TArg3, TArg4, TArg5>)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5> action)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5> action

    Action to convert to an asynchronous action.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5>(Action<TArg1, TArg2, TArg3, TArg4, TArg5>, IScheduler)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5> action, IScheduler scheduler)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5> action

    Action to convert to an asynchronous action.

    IScheduler scheduler

    Scheduler to invoke the original action on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TResult>)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TResult> function)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TResult> function

    Function to convert to an asynchronous function.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TResult>, IScheduler)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TResult> function, IScheduler scheduler)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TResult> function

    Function to convert to an asynchronous function.

    IScheduler scheduler

    Scheduler to invoke the original function on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6>(Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6>)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6> action)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6> action

    Action to convert to an asynchronous action.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    TArg6

    The type of the sixth argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6>(Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6>, IScheduler)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6> action, IScheduler scheduler)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6> action

    Action to convert to an asynchronous action.

    IScheduler scheduler

    Scheduler to invoke the original action on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    TArg6

    The type of the sixth argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TResult>)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TResult> function)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TResult> function

    Function to convert to an asynchronous function.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TResult>, IScheduler)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TResult> function, IScheduler scheduler)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TResult> function

    Function to convert to an asynchronous function.

    IScheduler scheduler

    Scheduler to invoke the original function on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7>(Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7>)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7> action)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7> action

    Action to convert to an asynchronous action.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    TArg6

    The type of the sixth argument passed to the action.

    TArg7

    The type of the seventh argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7>(Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7>, IScheduler)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7> action, IScheduler scheduler)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7> action

    Action to convert to an asynchronous action.

    IScheduler scheduler

    Scheduler to invoke the original action on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    TArg6

    The type of the sixth argument passed to the action.

    TArg7

    The type of the seventh argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TResult>)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TResult> function)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TResult> function

    Function to convert to an asynchronous function.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TArg6

    The type of the sixth argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TResult>, IScheduler)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TResult> function, IScheduler scheduler)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TResult> function

    Function to convert to an asynchronous function.

    IScheduler scheduler

    Scheduler to invoke the original function on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TArg6

    The type of the sixth argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8>(Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8>)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8> action)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8> action

    Action to convert to an asynchronous action.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    TArg6

    The type of the sixth argument passed to the action.

    TArg7

    The type of the seventh argument passed to the action.

    TArg8

    The type of the eighth argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8>(Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8>, IScheduler)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8> action, IScheduler scheduler)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8> action

    Action to convert to an asynchronous action.

    IScheduler scheduler

    Scheduler to invoke the original action on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    TArg6

    The type of the sixth argument passed to the action.

    TArg7

    The type of the seventh argument passed to the action.

    TArg8

    The type of the eighth argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TResult>)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TResult> function)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TResult> function

    Function to convert to an asynchronous function.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TArg6

    The type of the sixth argument passed to the function.

    TArg7

    The type of the seventh argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TResult>, IScheduler)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TResult> function, IScheduler scheduler)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TResult> function

    Function to convert to an asynchronous function.

    IScheduler scheduler

    Scheduler to invoke the original function on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TArg6

    The type of the sixth argument passed to the function.

    TArg7

    The type of the seventh argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9>(Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9>)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9> action)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9> action

    Action to convert to an asynchronous action.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    TArg6

    The type of the sixth argument passed to the action.

    TArg7

    The type of the seventh argument passed to the action.

    TArg8

    The type of the eighth argument passed to the action.

    TArg9

    The type of the ninth argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9>(Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9>, IScheduler)

    Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, IObservable<Unit>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9>(this Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9> action, IScheduler scheduler)
    Parameters
    Type Name Description
    Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9> action

    Action to convert to an asynchronous action.

    IScheduler scheduler

    Scheduler to invoke the original action on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, IObservable<Unit>>

    Asynchronous action.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the action.

    TArg2

    The type of the second argument passed to the action.

    TArg3

    The type of the third argument passed to the action.

    TArg4

    The type of the fourth argument passed to the action.

    TArg5

    The type of the fifth argument passed to the action.

    TArg6

    The type of the sixth argument passed to the action.

    TArg7

    The type of the seventh argument passed to the action.

    TArg8

    The type of the eighth argument passed to the action.

    TArg9

    The type of the ninth argument passed to the action.

    Exceptions
    Type Condition
    ArgumentNullException

    action or scheduler is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TResult>)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TResult> function)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TResult> function

    Function to convert to an asynchronous function.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TArg6

    The type of the sixth argument passed to the function.

    TArg7

    The type of the seventh argument passed to the function.

    TArg8

    The type of the eighth argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function is null.

    | Improve this Doc View Source

    ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TResult>(Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TResult>, IScheduler)

    Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.

    Declaration
    public static Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, IObservable<TResult>> ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TResult>(this Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TResult> function, IScheduler scheduler)
    Parameters
    Type Name Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TResult> function

    Function to convert to an asynchronous function.

    IScheduler scheduler

    Scheduler to invoke the original function on.

    Returns
    Type Description
    Func<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, IObservable<TResult>>

    Asynchronous function.

    Type Parameters
    Name Description
    TArg1

    The type of the first argument passed to the function.

    TArg2

    The type of the second argument passed to the function.

    TArg3

    The type of the third argument passed to the function.

    TArg4

    The type of the fourth argument passed to the function.

    TArg5

    The type of the fifth argument passed to the function.

    TArg6

    The type of the sixth argument passed to the function.

    TArg7

    The type of the seventh argument passed to the function.

    TArg8

    The type of the eighth argument passed to the function.

    TResult

    The type of the result returned by the function.

    Exceptions
    Type Condition
    ArgumentNullException

    function or scheduler is null.

    | Improve this Doc View Source

    ToDictionary<TSource, TKey>(IObservable<TSource>, Func<TSource, TKey>)

    Creates a dictionary from an observable sequence according to a specified key selector function.

    Declaration
    public static IObservable<IDictionary<TKey, TSource>> ToDictionary<TSource, TKey>(this IObservable<TSource> source, Func<TSource, TKey> keySelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to create a dictionary for.

    Func<TSource, TKey> keySelector

    A function to extract a key from each element.

    Returns
    Type Description
    IObservable<IDictionary<TKey, TSource>>

    An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the dictionary key computed for each element in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector is null.

    | Improve this Doc View Source

    ToDictionary<TSource, TKey>(IObservable<TSource>, Func<TSource, TKey>, IEqualityComparer<TKey>)

    Creates a dictionary from an observable sequence according to a specified key selector function, and a comparer.

    Declaration
    public static IObservable<IDictionary<TKey, TSource>> ToDictionary<TSource, TKey>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to create a dictionary for.

    Func<TSource, TKey> keySelector

    A function to extract a key from each element.

    IEqualityComparer<TKey> comparer

    An equality comparer to compare keys.

    Returns
    Type Description
    IObservable<IDictionary<TKey, TSource>>

    An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the dictionary key computed for each element in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or comparer is null.

    | Improve this Doc View Source

    ToDictionary<TSource, TKey, TElement>(IObservable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>)

    Creates a dictionary from an observable sequence according to a specified key selector function, and an element selector function.

    Declaration
    public static IObservable<IDictionary<TKey, TElement>> ToDictionary<TSource, TKey, TElement>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to create a dictionary for.

    Func<TSource, TKey> keySelector

    A function to extract a key from each element.

    Func<TSource, TElement> elementSelector

    A transform function to produce a result element value from each element.

    Returns
    Type Description
    IObservable<IDictionary<TKey, TElement>>

    An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the dictionary key computed for each element in the source sequence.

    TElement

    The type of the dictionary value computed for each element in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or elementSelector is null.

    | Improve this Doc View Source

    ToDictionary<TSource, TKey, TElement>(IObservable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>)

    Creates a dictionary from an observable sequence according to a specified key selector function, a comparer, and an element selector function.

    Declaration
    public static IObservable<IDictionary<TKey, TElement>> ToDictionary<TSource, TKey, TElement>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to create a dictionary for.

    Func<TSource, TKey> keySelector

    A function to extract a key from each element.

    Func<TSource, TElement> elementSelector

    A transform function to produce a result element value from each element.

    IEqualityComparer<TKey> comparer

    An equality comparer to compare keys.

    Returns
    Type Description
    IObservable<IDictionary<TKey, TElement>>

    An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the dictionary key computed for each element in the source sequence.

    TElement

    The type of the dictionary value computed for each element in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or elementSelector or comparer is null.

    | Improve this Doc View Source

    ToEnumerable<TSource>(IObservable<TSource>)

    Converts an observable sequence to an enumerable sequence.

    Declaration
    public static IEnumerable<TSource> ToEnumerable<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to convert to an enumerable sequence.

    Returns
    Type Description
    IEnumerable<TSource>

    The enumerable sequence containing the elements in the observable sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    ToEvent(IObservable<Unit>)

    Exposes an observable sequence as an object with an Action-based .NET event.

    Declaration
    public static IEventSource<Unit> ToEvent(this IObservable<Unit> source)
    Parameters
    Type Name Description
    IObservable<Unit> source

    Observable source sequence.

    Returns
    Type Description
    IEventSource<Unit>

    The event source object.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    ToEvent<TSource>(IObservable<TSource>)

    Exposes an observable sequence as an object with an Action<TSource>-based .NET event.

    Declaration
    public static IEventSource<TSource> ToEvent<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Observable source sequence.

    Returns
    Type Description
    IEventSource<TSource>

    The event source object.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    ToEventPattern<TEventArgs>(IObservable<EventPattern<TEventArgs>>)

    Exposes an observable sequence as an object with a .NET event, conforming to the standard .NET event pattern.

    Declaration
    public static IEventPatternSource<TEventArgs> ToEventPattern<TEventArgs>(this IObservable<EventPattern<TEventArgs>> source)
        where TEventArgs : EventArgs
    Parameters
    Type Name Description
    IObservable<EventPattern<TEventArgs>> source

    Observable source sequence.

    Returns
    Type Description
    IEventPatternSource<TEventArgs>

    The event source object.

    Type Parameters
    Name Description
    TEventArgs

    The type of the event data generated by the event.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    ToList<TSource>(IObservable<TSource>)

    Creates a list from an observable sequence.

    Declaration
    public static IObservable<IList<TSource>> ToList<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    The source observable sequence to get a list of elements for.

    Returns
    Type Description
    IObservable<IList<TSource>>

    An observable sequence containing a single element with a list containing all the elements of the source sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    ToLookup<TSource, TKey>(IObservable<TSource>, Func<TSource, TKey>)

    Creates a lookup from an observable sequence according to a specified key selector function.

    Declaration
    public static IObservable<ILookup<TKey, TSource>> ToLookup<TSource, TKey>(this IObservable<TSource> source, Func<TSource, TKey> keySelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to create a lookup for.

    Func<TSource, TKey> keySelector

    A function to extract a key from each element.

    Returns
    Type Description
    IObservable<ILookup<TKey, TSource>>

    An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the lookup key computed for each element in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector is null.

    | Improve this Doc View Source

    ToLookup<TSource, TKey>(IObservable<TSource>, Func<TSource, TKey>, IEqualityComparer<TKey>)

    Creates a lookup from an observable sequence according to a specified key selector function, and a comparer.

    Declaration
    public static IObservable<ILookup<TKey, TSource>> ToLookup<TSource, TKey>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to create a lookup for.

    Func<TSource, TKey> keySelector

    A function to extract a key from each element.

    IEqualityComparer<TKey> comparer

    An equality comparer to compare keys.

    Returns
    Type Description
    IObservable<ILookup<TKey, TSource>>

    An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the lookup key computed for each element in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or comparer is null.

    | Improve this Doc View Source

    ToLookup<TSource, TKey, TElement>(IObservable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>)

    Creates a lookup from an observable sequence according to a specified key selector function, and an element selector function.

    Declaration
    public static IObservable<ILookup<TKey, TElement>> ToLookup<TSource, TKey, TElement>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to create a lookup for.

    Func<TSource, TKey> keySelector

    A function to extract a key from each element.

    Func<TSource, TElement> elementSelector

    A transform function to produce a result element value from each element.

    Returns
    Type Description
    IObservable<ILookup<TKey, TElement>>

    An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the lookup key computed for each element in the source sequence.

    TElement

    The type of the lookup value computed for each element in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or elementSelector is null.

    | Improve this Doc View Source

    ToLookup<TSource, TKey, TElement>(IObservable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>)

    Creates a lookup from an observable sequence according to a specified key selector function, a comparer, and an element selector function.

    Declaration
    public static IObservable<ILookup<TKey, TElement>> ToLookup<TSource, TKey, TElement>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey> comparer)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence to create a lookup for.

    Func<TSource, TKey> keySelector

    A function to extract a key from each element.

    Func<TSource, TElement> elementSelector

    A transform function to produce a result element value from each element.

    IEqualityComparer<TKey> comparer

    An equality comparer to compare keys.

    Returns
    Type Description
    IObservable<ILookup<TKey, TElement>>

    An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    TKey

    The type of the lookup key computed for each element in the source sequence.

    TElement

    The type of the lookup value computed for each element in the source sequence.

    Remarks

    The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.

    Exceptions
    Type Condition
    ArgumentNullException

    source or keySelector or elementSelector or comparer is null.

    | Improve this Doc View Source

    ToObservable<TSource>(IEnumerable<TSource>)

    Converts an enumerable sequence to an observable sequence.

    Declaration
    public static IObservable<TSource> ToObservable<TSource>(this IEnumerable<TSource> source)
    Parameters
    Type Name Description
    IEnumerable<TSource> source

    Enumerable sequence to convert to an observable sequence.

    Returns
    Type Description
    IObservable<TSource>

    The observable sequence whose elements are pulled from the given enumerable sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    | Improve this Doc View Source

    ToObservable<TSource>(IEnumerable<TSource>, IScheduler)

    Converts an enumerable sequence to an observable sequence, using the specified scheduler to run the enumeration loop.

    Declaration
    public static IObservable<TSource> ToObservable<TSource>(this IEnumerable<TSource> source, IScheduler scheduler)
    Parameters
    Type Name Description
    IEnumerable<TSource> source

    Enumerable sequence to convert to an observable sequence.

    IScheduler scheduler

    Scheduler to run the enumeration of the input sequence on.

    Returns
    Type Description
    IObservable<TSource>

    The observable sequence whose elements are pulled from the given enumerable sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    | Improve this Doc View Source

    Using<TResult, TResource>(Func<TResource>, Func<TResource, IObservable<TResult>>)

    Constructs an observable sequence that depends on a resource object, whose lifetime is tied to the resulting observable sequence's lifetime.

    Declaration
    public static IObservable<TResult> Using<TResult, TResource>(Func<TResource> resourceFactory, Func<TResource, IObservable<TResult>> observableFactory)
        where TResource : IDisposable
    Parameters
    Type Name Description
    Func<TResource> resourceFactory

    Factory function to obtain a resource object.

    Func<TResource, IObservable<TResult>> observableFactory

    Factory function to obtain an observable sequence that depends on the obtained resource.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose lifetime controls the lifetime of the dependent resource object.

    Type Parameters
    Name Description
    TResult

    The type of the elements in the produced sequence.

    TResource

    The type of the resource used during the generation of the resulting sequence. Needs to implement IDisposable.

    Exceptions
    Type Condition
    ArgumentNullException

    resourceFactory or observableFactory is null.

    | Improve this Doc View Source

    Using<TResult, TResource>(Func<CancellationToken, Task<TResource>>, Func<TResource, CancellationToken, Task<IObservable<TResult>>>)

    Constructs an observable sequence that depends on a resource object, whose lifetime is tied to the resulting observable sequence's lifetime. The resource is obtained and used through asynchronous methods. The CancellationToken passed to the asynchronous methods is tied to the returned disposable subscription, allowing best-effort cancellation at any stage of the resource acquisition or usage.

    Declaration
    public static IObservable<TResult> Using<TResult, TResource>(Func<CancellationToken, Task<TResource>> resourceFactoryAsync, Func<TResource, CancellationToken, Task<IObservable<TResult>>> observableFactoryAsync)
        where TResource : IDisposable
    Parameters
    Type Name Description
    Func<CancellationToken, Task<TResource>> resourceFactoryAsync

    Asynchronous factory function to obtain a resource object.

    Func<TResource, CancellationToken, Task<IObservable<TResult>>> observableFactoryAsync

    Asynchronous factory function to obtain an observable sequence that depends on the obtained resource.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence whose lifetime controls the lifetime of the dependent resource object.

    Type Parameters
    Name Description
    TResult

    The type of the elements in the produced sequence.

    TResource

    The type of the resource used during the generation of the resulting sequence. Needs to implement IDisposable.

    Remarks

    This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.

    Exceptions
    Type Condition
    ArgumentNullException

    resourceFactoryAsync or observableFactoryAsync is null.

    | Improve this Doc View Source

    Wait<TSource>(IObservable<TSource>)

    Waits for the observable sequence to complete and returns the last element of the sequence. If the sequence terminates with an OnError notification, the exception is throw.

    Declaration
    public static TSource Wait<TSource>(this IObservable<TSource> source)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source observable sequence.

    Returns
    Type Description
    TSource

    The last element in the observable sequence.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    InvalidOperationException

    The source sequence is empty.

    | Improve this Doc View Source

    When<TResult>(IEnumerable<Plan<TResult>>)

    Joins together the results from several patterns.

    Declaration
    public static IObservable<TResult> When<TResult>(this IEnumerable<Plan<TResult>> plans)
    Parameters
    Type Name Description
    IEnumerable<Plan<TResult>> plans

    A series of plans created by use of the Then operator on patterns.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence with the results form matching several patterns.

    Type Parameters
    Name Description
    TResult

    The type of the elements in the result sequence, obtained from the specified patterns.

    Exceptions
    Type Condition
    ArgumentNullException

    plans is null.

    | Improve this Doc View Source

    When<TResult>(Plan<TResult>[])

    Joins together the results from several patterns.

    Declaration
    public static IObservable<TResult> When<TResult>(params Plan<TResult>[] plans)
    Parameters
    Type Name Description
    Plan<TResult>[] plans

    A series of plans created by use of the Then operator on patterns.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence with the results from matching several patterns.

    Type Parameters
    Name Description
    TResult

    The type of the elements in the result sequence, obtained from the specified patterns.

    Exceptions
    Type Condition
    ArgumentNullException

    plans is null.

    | Improve this Doc View Source

    Where<TSource>(IObservable<TSource>, Func<TSource, Boolean>)

    Filters the elements of an observable sequence based on a predicate.

    Declaration
    public static IObservable<TSource> Where<TSource>(this IObservable<TSource> source, Func<TSource, bool> predicate)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence whose elements to filter.

    Func<TSource, Boolean> predicate

    A function to test each source element for a condition.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that contains elements from the input sequence that satisfy the condition.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or predicate is null.

    | Improve this Doc View Source

    Where<TSource>(IObservable<TSource>, Func<TSource, Int32, Boolean>)

    Filters the elements of an observable sequence based on a predicate by incorporating the element's index.

    Declaration
    public static IObservable<TSource> Where<TSource>(this IObservable<TSource> source, Func<TSource, int, bool> predicate)
    Parameters
    Type Name Description
    IObservable<TSource> source

    An observable sequence whose elements to filter.

    Func<TSource, Int32, Boolean> predicate

    A function to test each source element for a conditio; the second parameter of the function represents the index of the source element.

    Returns
    Type Description
    IObservable<TSource>

    An observable sequence that contains elements from the input sequence that satisfy the condition.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source or predicate is null.

    | Improve this Doc View Source

    While<TSource>(Func<Boolean>, IObservable<TSource>)

    Repeats the given source as long as the specified condition holds, where the condition is evaluated before each repeated source is subscribed to.

    Declaration
    public static IObservable<TSource> While<TSource>(Func<bool> condition, IObservable<TSource> source)
    Parameters
    Type Name Description
    Func<Boolean> condition

    Condition that will be evaluated before subscription to the source, to determine whether repetition of the source is required.

    IObservable<TSource> source

    Source to repeat as long as the condition function evaluates to true.

    Returns
    Type Description
    IObservable<TSource>

    The observable sequence obtained by concatenating the source sequence as long as the condition holds.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    condition or source is null.

    | Improve this Doc View Source

    Window<TSource>(IObservable<TSource>, Int32)

    Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on element count information.

    Declaration
    public static IObservable<IObservable<TSource>> Window<TSource>(this IObservable<TSource> source, int count)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to produce windows over.

    Int32 count

    Length of each window.

    Returns
    Type Description
    IObservable<IObservable<TSource>>

    An observable sequence of windows.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence, and in the windows in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    count is less than or equal to zero.

    | Improve this Doc View Source

    Window<TSource>(IObservable<TSource>, Int32, Int32)

    Projects each element of an observable sequence into zero or more windows which are produced based on element count information.

    Declaration
    public static IObservable<IObservable<TSource>> Window<TSource>(this IObservable<TSource> source, int count, int skip)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to produce windows over.

    Int32 count

    Length of each window.

    Int32 skip

    Number of elements to skip between creation of consecutive windows.

    Returns
    Type Description
    IObservable<IObservable<TSource>>

    An observable sequence of windows.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence, and in the windows in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    count or skip is less than or equal to zero.

    | Improve this Doc View Source

    Window<TSource>(IObservable<TSource>, TimeSpan)

    Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on timing information.

    Declaration
    public static IObservable<IObservable<TSource>> Window<TSource>(this IObservable<TSource> source, TimeSpan timeSpan)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to produce windows over.

    TimeSpan timeSpan

    Length of each window.

    Returns
    Type Description
    IObservable<IObservable<TSource>>

    The sequence of windows.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence, and in the windows in the result sequence.

    Remarks

    Specifying a TimeSpan.Zero value for timeSpan is not recommended but supported, causing the scheduler to create windows as fast as it can. Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    timeSpan is less than TimeSpan.Zero.

    | Improve this Doc View Source

    Window<TSource>(IObservable<TSource>, TimeSpan, Int32)

    Projects each element of an observable sequence into a window that is completed when either it's full or a given amount of time has elapsed. A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first.

    Declaration
    public static IObservable<IObservable<TSource>> Window<TSource>(this IObservable<TSource> source, TimeSpan timeSpan, int count)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to produce windows over.

    TimeSpan timeSpan

    Maximum time length of a window.

    Int32 count

    Maximum element count of a window.

    Returns
    Type Description
    IObservable<IObservable<TSource>>

    An observable sequence of windows.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence, and in the windows in the result sequence.

    Remarks

    Specifying a TimeSpan.Zero value for timeSpan is not recommended but supported, causing the scheduler to create windows as fast as it can. Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    timeSpan is less than TimeSpan.Zero. -or- count is less than or equal to zero.

    | Improve this Doc View Source

    Window<TSource>(IObservable<TSource>, TimeSpan, Int32, IScheduler)

    Projects each element of an observable sequence into a window that is completed when either it's full or a given amount of time has elapsed, using the specified scheduler to run timers. A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first.

    Declaration
    public static IObservable<IObservable<TSource>> Window<TSource>(this IObservable<TSource> source, TimeSpan timeSpan, int count, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to produce windows over.

    TimeSpan timeSpan

    Maximum time length of a window.

    Int32 count

    Maximum element count of a window.

    IScheduler scheduler

    Scheduler to run windowing timers on.

    Returns
    Type Description
    IObservable<IObservable<TSource>>

    An observable sequence of windows.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence, and in the windows in the result sequence.

    Remarks

    Specifying a TimeSpan.Zero value for timeSpan is not recommended but supported, causing the scheduler to create windows as fast as it can. Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    ArgumentOutOfRangeException

    timeSpan is less than TimeSpan.Zero. -or- count is less than or equal to zero.

    | Improve this Doc View Source

    Window<TSource>(IObservable<TSource>, TimeSpan, IScheduler)

    Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on timing information, using the specified scheduler to run timers.

    Declaration
    public static IObservable<IObservable<TSource>> Window<TSource>(this IObservable<TSource> source, TimeSpan timeSpan, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to produce windows over.

    TimeSpan timeSpan

    Length of each window.

    IScheduler scheduler

    Scheduler to run windowing timers on.

    Returns
    Type Description
    IObservable<IObservable<TSource>>

    An observable sequence of windows.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence, and in the windows in the result sequence.

    Remarks

    Specifying a TimeSpan.Zero value for timeSpan is not recommended but supported, causing the scheduler to create windows as fast as it can. Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    ArgumentOutOfRangeException

    timeSpan is less than TimeSpan.Zero.

    | Improve this Doc View Source

    Window<TSource>(IObservable<TSource>, TimeSpan, TimeSpan)

    Projects each element of an observable sequence into zero or more windows which are produced based on timing information.

    Declaration
    public static IObservable<IObservable<TSource>> Window<TSource>(this IObservable<TSource> source, TimeSpan timeSpan, TimeSpan timeShift)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to produce windows over.

    TimeSpan timeSpan

    Length of each window.

    TimeSpan timeShift

    Interval between creation of consecutive windows.

    Returns
    Type Description
    IObservable<IObservable<TSource>>

    An observable sequence of windows.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence, and in the windows in the result sequence.

    Remarks

    Specifying a TimeSpan.Zero value for timeSpan is not recommended but supported, causing the scheduler to create windows with minimum duration length. However, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the current window may not execute immediately, despite the TimeSpan.Zero due time.

    Specifying a TimeSpan.Zero value for timeShift is not recommended but supported, causing the scheduler to create windows as fast as it can. However, this doesn't mean all windows will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, where the action to create a new window may not execute immediately, despite the TimeSpan.Zero due time.

    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentOutOfRangeException

    timeSpan or timeSpan is less than TimeSpan.Zero.

    | Improve this Doc View Source

    Window<TSource>(IObservable<TSource>, TimeSpan, TimeSpan, IScheduler)

    Projects each element of an observable sequence into zero or more windows which are produced based on timing information, using the specified scheduler to run timers.

    Declaration
    public static IObservable<IObservable<TSource>> Window<TSource>(this IObservable<TSource> source, TimeSpan timeSpan, TimeSpan timeShift, IScheduler scheduler)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to produce windows over.

    TimeSpan timeSpan

    Length of each window.

    TimeSpan timeShift

    Interval between creation of consecutive windows.

    IScheduler scheduler

    Scheduler to run windowing timers on.

    Returns
    Type Description
    IObservable<IObservable<TSource>>

    An observable sequence of windows.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence, and in the windows in the result sequence.

    Remarks

    Specifying a TimeSpan.Zero value for timeSpan is not recommended but supported, causing the scheduler to create windows with minimum duration length. However, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the current window may not execute immediately, despite the TimeSpan.Zero due time.

    Specifying a TimeSpan.Zero value for timeShift is not recommended but supported, causing the scheduler to create windows as fast as it can. However, this doesn't mean all windows will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, where the action to create a new window may not execute immediately, despite the TimeSpan.Zero due time.

    Exceptions
    Type Condition
    ArgumentNullException

    source or scheduler is null.

    ArgumentOutOfRangeException

    timeSpan or timeSpan is less than TimeSpan.Zero.

    | Improve this Doc View Source

    Window<TSource, TWindowClosing>(IObservable<TSource>, Func<IObservable<TWindowClosing>>)

    Projects each element of an observable sequence into consecutive non-overlapping windows.

    Declaration
    public static IObservable<IObservable<TSource>> Window<TSource, TWindowClosing>(this IObservable<TSource> source, Func<IObservable<TWindowClosing>> windowClosingSelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to produce windows over.

    Func<IObservable<TWindowClosing>> windowClosingSelector

    A function invoked to define the boundaries of the produced windows. A new window is started when the previous one is closed.

    Returns
    Type Description
    IObservable<IObservable<TSource>>

    An observable sequence of windows.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence, and in the windows in the result sequence.

    TWindowClosing

    The type of the elements in the sequences indicating window closing events.

    Exceptions
    Type Condition
    ArgumentNullException

    source or windowClosingSelector is null.

    | Improve this Doc View Source

    Window<TSource, TWindowBoundary>(IObservable<TSource>, IObservable<TWindowBoundary>)

    Projects each element of an observable sequence into consecutive non-overlapping windows.

    Declaration
    public static IObservable<IObservable<TSource>> Window<TSource, TWindowBoundary>(this IObservable<TSource> source, IObservable<TWindowBoundary> windowBoundaries)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to produce windows over.

    IObservable<TWindowBoundary> windowBoundaries

    Sequence of window boundary markers. The current window is closed and a new window is opened upon receiving a boundary marker.

    Returns
    Type Description
    IObservable<IObservable<TSource>>

    An observable sequence of windows.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence, and in the windows in the result sequence.

    TWindowBoundary

    The type of the elements in the sequences indicating window boundary events.

    Exceptions
    Type Condition
    ArgumentNullException

    source or windowBoundaries is null.

    | Improve this Doc View Source

    Window<TSource, TWindowOpening, TWindowClosing>(IObservable<TSource>, IObservable<TWindowOpening>, Func<TWindowOpening, IObservable<TWindowClosing>>)

    Projects each element of an observable sequence into zero or more windows.

    Declaration
    public static IObservable<IObservable<TSource>> Window<TSource, TWindowOpening, TWindowClosing>(this IObservable<TSource> source, IObservable<TWindowOpening> windowOpenings, Func<TWindowOpening, IObservable<TWindowClosing>> windowClosingSelector)
    Parameters
    Type Name Description
    IObservable<TSource> source

    Source sequence to produce windows over.

    IObservable<TWindowOpening> windowOpenings

    Observable sequence whose elements denote the creation of new windows.

    Func<TWindowOpening, IObservable<TWindowClosing>> windowClosingSelector

    A function invoked to define the closing of each produced window.

    Returns
    Type Description
    IObservable<IObservable<TSource>>

    An observable sequence of windows.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequence, and in the windows in the result sequence.

    TWindowOpening

    The type of the elements in the sequence indicating window opening events, also passed to the closing selector to obtain a sequence of window closing events.

    TWindowClosing

    The type of the elements in the sequences indicating window closing events.

    Exceptions
    Type Condition
    ArgumentNullException

    source or windowOpenings or windowClosingSelector is null.

    | Improve this Doc View Source

    Zip<TSource>(IEnumerable<IObservable<TSource>>)

    Merges the specified observable sequences into one observable sequence by emitting a list with the elements of the observable sequences at corresponding indexes.

    Declaration
    public static IObservable<IList<TSource>> Zip<TSource>(this IEnumerable<IObservable<TSource>> sources)
    Parameters
    Type Name Description
    IEnumerable<IObservable<TSource>> sources

    Observable sources.

    Returns
    Type Description
    IObservable<IList<TSource>>

    An observable sequence containing lists of elements at corresponding indexes.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences, and in the lists in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    sources is null.

    | Improve this Doc View Source

    Zip<TSource>(IObservable<TSource>[])

    Merges the specified observable sequences into one observable sequence by emitting a list with the elements of the observable sequences at corresponding indexes.

    Declaration
    public static IObservable<IList<TSource>> Zip<TSource>(params IObservable<TSource>[] sources)
    Parameters
    Type Name Description
    IObservable<TSource>[] sources

    Observable sources.

    Returns
    Type Description
    IObservable<IList<TSource>>

    An observable sequence containing lists of elements at corresponding indexes.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences, and in the lists in the result sequence.

    Exceptions
    Type Condition
    ArgumentNullException

    sources is null.

    | Improve this Doc View Source

    Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, IObservable<TSource6>, IObservable<TSource7>, IObservable<TSource8>, IObservable<TSource9>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.

    Declaration
    public static IObservable<TResult> Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, IObservable<TSource6> source6, IObservable<TSource7> source7, IObservable<TSource8> source8, IObservable<TSource9> source9, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    IObservable<TSource6> source6

    Sixth observable source.

    IObservable<TSource7> source7

    Seventh observable source.

    IObservable<TSource8> source8

    Eighth observable source.

    IObservable<TSource9> source9

    Ninth observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TResult> resultSelector

    Function to invoke for each series of elements at corresponding indexes in the sources.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TSource6

    The type of the elements in the sixth source sequence.

    TSource7

    The type of the elements in the seventh source sequence.

    TSource8

    The type of the elements in the eighth source sequence.

    TSource9

    The type of the elements in the ninth source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or source6 or source7 or source8 or source9 or resultSelector is null.

    | Improve this Doc View Source

    Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, IObservable<TSource6>, IObservable<TSource7>, IObservable<TSource8>, IObservable<TSource9>, IObservable<TSource10>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.

    Declaration
    public static IObservable<TResult> Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, IObservable<TSource6> source6, IObservable<TSource7> source7, IObservable<TSource8> source8, IObservable<TSource9> source9, IObservable<TSource10> source10, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    IObservable<TSource6> source6

    Sixth observable source.

    IObservable<TSource7> source7

    Seventh observable source.

    IObservable<TSource8> source8

    Eighth observable source.

    IObservable<TSource9> source9

    Ninth observable source.

    IObservable<TSource10> source10

    Tenth observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TResult> resultSelector

    Function to invoke for each series of elements at corresponding indexes in the sources.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TSource6

    The type of the elements in the sixth source sequence.

    TSource7

    The type of the elements in the seventh source sequence.

    TSource8

    The type of the elements in the eighth source sequence.

    TSource9

    The type of the elements in the ninth source sequence.

    TSource10

    The type of the elements in the tenth source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or source6 or source7 or source8 or source9 or source10 or resultSelector is null.

    | Improve this Doc View Source

    Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, IObservable<TSource6>, IObservable<TSource7>, IObservable<TSource8>, IObservable<TSource9>, IObservable<TSource10>, IObservable<TSource11>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.

    Declaration
    public static IObservable<TResult> Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, IObservable<TSource6> source6, IObservable<TSource7> source7, IObservable<TSource8> source8, IObservable<TSource9> source9, IObservable<TSource10> source10, IObservable<TSource11> source11, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    IObservable<TSource6> source6

    Sixth observable source.

    IObservable<TSource7> source7

    Seventh observable source.

    IObservable<TSource8> source8

    Eighth observable source.

    IObservable<TSource9> source9

    Ninth observable source.

    IObservable<TSource10> source10

    Tenth observable source.

    IObservable<TSource11> source11

    Eleventh observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TResult> resultSelector

    Function to invoke for each series of elements at corresponding indexes in the sources.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TSource6

    The type of the elements in the sixth source sequence.

    TSource7

    The type of the elements in the seventh source sequence.

    TSource8

    The type of the elements in the eighth source sequence.

    TSource9

    The type of the elements in the ninth source sequence.

    TSource10

    The type of the elements in the tenth source sequence.

    TSource11

    The type of the elements in the eleventh source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or source6 or source7 or source8 or source9 or source10 or source11 or resultSelector is null.

    | Improve this Doc View Source

    Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, IObservable<TSource6>, IObservable<TSource7>, IObservable<TSource8>, IObservable<TSource9>, IObservable<TSource10>, IObservable<TSource11>, IObservable<TSource12>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.

    Declaration
    public static IObservable<TResult> Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, IObservable<TSource6> source6, IObservable<TSource7> source7, IObservable<TSource8> source8, IObservable<TSource9> source9, IObservable<TSource10> source10, IObservable<TSource11> source11, IObservable<TSource12> source12, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    IObservable<TSource6> source6

    Sixth observable source.

    IObservable<TSource7> source7

    Seventh observable source.

    IObservable<TSource8> source8

    Eighth observable source.

    IObservable<TSource9> source9

    Ninth observable source.

    IObservable<TSource10> source10

    Tenth observable source.

    IObservable<TSource11> source11

    Eleventh observable source.

    IObservable<TSource12> source12

    Twelfth observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TResult> resultSelector

    Function to invoke for each series of elements at corresponding indexes in the sources.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TSource6

    The type of the elements in the sixth source sequence.

    TSource7

    The type of the elements in the seventh source sequence.

    TSource8

    The type of the elements in the eighth source sequence.

    TSource9

    The type of the elements in the ninth source sequence.

    TSource10

    The type of the elements in the tenth source sequence.

    TSource11

    The type of the elements in the eleventh source sequence.

    TSource12

    The type of the elements in the twelfth source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or source6 or source7 or source8 or source9 or source10 or source11 or source12 or resultSelector is null.

    | Improve this Doc View Source

    Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, IObservable<TSource6>, IObservable<TSource7>, IObservable<TSource8>, IObservable<TSource9>, IObservable<TSource10>, IObservable<TSource11>, IObservable<TSource12>, IObservable<TSource13>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.

    Declaration
    public static IObservable<TResult> Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, IObservable<TSource6> source6, IObservable<TSource7> source7, IObservable<TSource8> source8, IObservable<TSource9> source9, IObservable<TSource10> source10, IObservable<TSource11> source11, IObservable<TSource12> source12, IObservable<TSource13> source13, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    IObservable<TSource6> source6

    Sixth observable source.

    IObservable<TSource7> source7

    Seventh observable source.

    IObservable<TSource8> source8

    Eighth observable source.

    IObservable<TSource9> source9

    Ninth observable source.

    IObservable<TSource10> source10

    Tenth observable source.

    IObservable<TSource11> source11

    Eleventh observable source.

    IObservable<TSource12> source12

    Twelfth observable source.

    IObservable<TSource13> source13

    Thirteenth observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TResult> resultSelector

    Function to invoke for each series of elements at corresponding indexes in the sources.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TSource6

    The type of the elements in the sixth source sequence.

    TSource7

    The type of the elements in the seventh source sequence.

    TSource8

    The type of the elements in the eighth source sequence.

    TSource9

    The type of the elements in the ninth source sequence.

    TSource10

    The type of the elements in the tenth source sequence.

    TSource11

    The type of the elements in the eleventh source sequence.

    TSource12

    The type of the elements in the twelfth source sequence.

    TSource13

    The type of the elements in the thirteenth source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or source6 or source7 or source8 or source9 or source10 or source11 or source12 or source13 or resultSelector is null.

    | Improve this Doc View Source

    Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, IObservable<TSource6>, IObservable<TSource7>, IObservable<TSource8>, IObservable<TSource9>, IObservable<TSource10>, IObservable<TSource11>, IObservable<TSource12>, IObservable<TSource13>, IObservable<TSource14>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.

    Declaration
    public static IObservable<TResult> Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, IObservable<TSource6> source6, IObservable<TSource7> source7, IObservable<TSource8> source8, IObservable<TSource9> source9, IObservable<TSource10> source10, IObservable<TSource11> source11, IObservable<TSource12> source12, IObservable<TSource13> source13, IObservable<TSource14> source14, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    IObservable<TSource6> source6

    Sixth observable source.

    IObservable<TSource7> source7

    Seventh observable source.

    IObservable<TSource8> source8

    Eighth observable source.

    IObservable<TSource9> source9

    Ninth observable source.

    IObservable<TSource10> source10

    Tenth observable source.

    IObservable<TSource11> source11

    Eleventh observable source.

    IObservable<TSource12> source12

    Twelfth observable source.

    IObservable<TSource13> source13

    Thirteenth observable source.

    IObservable<TSource14> source14

    Fourteenth observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TResult> resultSelector

    Function to invoke for each series of elements at corresponding indexes in the sources.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TSource6

    The type of the elements in the sixth source sequence.

    TSource7

    The type of the elements in the seventh source sequence.

    TSource8

    The type of the elements in the eighth source sequence.

    TSource9

    The type of the elements in the ninth source sequence.

    TSource10

    The type of the elements in the tenth source sequence.

    TSource11

    The type of the elements in the eleventh source sequence.

    TSource12

    The type of the elements in the twelfth source sequence.

    TSource13

    The type of the elements in the thirteenth source sequence.

    TSource14

    The type of the elements in the fourteenth source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or source6 or source7 or source8 or source9 or source10 or source11 or source12 or source13 or source14 or resultSelector is null.

    | Improve this Doc View Source

    Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, IObservable<TSource6>, IObservable<TSource7>, IObservable<TSource8>, IObservable<TSource9>, IObservable<TSource10>, IObservable<TSource11>, IObservable<TSource12>, IObservable<TSource13>, IObservable<TSource14>, IObservable<TSource15>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.

    Declaration
    public static IObservable<TResult> Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, IObservable<TSource6> source6, IObservable<TSource7> source7, IObservable<TSource8> source8, IObservable<TSource9> source9, IObservable<TSource10> source10, IObservable<TSource11> source11, IObservable<TSource12> source12, IObservable<TSource13> source13, IObservable<TSource14> source14, IObservable<TSource15> source15, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    IObservable<TSource6> source6

    Sixth observable source.

    IObservable<TSource7> source7

    Seventh observable source.

    IObservable<TSource8> source8

    Eighth observable source.

    IObservable<TSource9> source9

    Ninth observable source.

    IObservable<TSource10> source10

    Tenth observable source.

    IObservable<TSource11> source11

    Eleventh observable source.

    IObservable<TSource12> source12

    Twelfth observable source.

    IObservable<TSource13> source13

    Thirteenth observable source.

    IObservable<TSource14> source14

    Fourteenth observable source.

    IObservable<TSource15> source15

    Fifteenth observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TResult> resultSelector

    Function to invoke for each series of elements at corresponding indexes in the sources.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TSource6

    The type of the elements in the sixth source sequence.

    TSource7

    The type of the elements in the seventh source sequence.

    TSource8

    The type of the elements in the eighth source sequence.

    TSource9

    The type of the elements in the ninth source sequence.

    TSource10

    The type of the elements in the tenth source sequence.

    TSource11

    The type of the elements in the eleventh source sequence.

    TSource12

    The type of the elements in the twelfth source sequence.

    TSource13

    The type of the elements in the thirteenth source sequence.

    TSource14

    The type of the elements in the fourteenth source sequence.

    TSource15

    The type of the elements in the fifteenth source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or source6 or source7 or source8 or source9 or source10 or source11 or source12 or source13 or source14 or source15 or resultSelector is null.

    | Improve this Doc View Source

    Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TSource16, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, IObservable<TSource6>, IObservable<TSource7>, IObservable<TSource8>, IObservable<TSource9>, IObservable<TSource10>, IObservable<TSource11>, IObservable<TSource12>, IObservable<TSource13>, IObservable<TSource14>, IObservable<TSource15>, IObservable<TSource16>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TSource16, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.

    Declaration
    public static IObservable<TResult> Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TSource16, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, IObservable<TSource6> source6, IObservable<TSource7> source7, IObservable<TSource8> source8, IObservable<TSource9> source9, IObservable<TSource10> source10, IObservable<TSource11> source11, IObservable<TSource12> source12, IObservable<TSource13> source13, IObservable<TSource14> source14, IObservable<TSource15> source15, IObservable<TSource16> source16, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TSource16, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    IObservable<TSource6> source6

    Sixth observable source.

    IObservable<TSource7> source7

    Seventh observable source.

    IObservable<TSource8> source8

    Eighth observable source.

    IObservable<TSource9> source9

    Ninth observable source.

    IObservable<TSource10> source10

    Tenth observable source.

    IObservable<TSource11> source11

    Eleventh observable source.

    IObservable<TSource12> source12

    Twelfth observable source.

    IObservable<TSource13> source13

    Thirteenth observable source.

    IObservable<TSource14> source14

    Fourteenth observable source.

    IObservable<TSource15> source15

    Fifteenth observable source.

    IObservable<TSource16> source16

    Sixteenth observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TSource16, TResult> resultSelector

    Function to invoke for each series of elements at corresponding indexes in the sources.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TSource6

    The type of the elements in the sixth source sequence.

    TSource7

    The type of the elements in the seventh source sequence.

    TSource8

    The type of the elements in the eighth source sequence.

    TSource9

    The type of the elements in the ninth source sequence.

    TSource10

    The type of the elements in the tenth source sequence.

    TSource11

    The type of the elements in the eleventh source sequence.

    TSource12

    The type of the elements in the twelfth source sequence.

    TSource13

    The type of the elements in the thirteenth source sequence.

    TSource14

    The type of the elements in the fourteenth source sequence.

    TSource15

    The type of the elements in the fifteenth source sequence.

    TSource16

    The type of the elements in the sixteenth source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or source6 or source7 or source8 or source9 or source10 or source11 or source12 or source13 or source14 or source15 or source16 or resultSelector is null.

    | Improve this Doc View Source

    Zip<TSource, TResult>(IEnumerable<IObservable<TSource>>, Func<IList<TSource>, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.

    Declaration
    public static IObservable<TResult> Zip<TSource, TResult>(this IEnumerable<IObservable<TSource>> sources, Func<IList<TSource>, TResult> resultSelector)
    Parameters
    Type Name Description
    IEnumerable<IObservable<TSource>> sources

    Observable sources.

    Func<IList<TSource>, TResult> resultSelector

    Function to invoke for each series of elements at corresponding indexes in the sources.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource

    The type of the elements in the source sequences.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    sources or resultSelector is null.

    | Improve this Doc View Source

    Zip<TSource1, TSource2, TResult>(IObservable<TSource1>, IEnumerable<TSource2>, Func<TSource1, TSource2, TResult>)

    Merges an observable sequence and an enumerable sequence into one observable sequence by using the selector function.

    Declaration
    public static IObservable<TResult> Zip<TSource1, TSource2, TResult>(this IObservable<TSource1> first, IEnumerable<TSource2> second, Func<TSource1, TSource2, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> first

    First observable source.

    IEnumerable<TSource2> second

    Second enumerable source.

    Func<TSource1, TSource2, TResult> resultSelector

    Function to invoke for each consecutive pair of elements from the first and second source.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of pairwise combining the elements of the first and second source using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first observable source sequence.

    TSource2

    The type of the elements in the second enumerable source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    first or second or resultSelector is null.

    | Improve this Doc View Source

    Zip<TSource1, TSource2, TResult>(IObservable<TSource1>, IObservable<TSource2>, Func<TSource1, TSource2, TResult>)

    Merges two observable sequences into one observable sequence by combining their elements in a pairwise fashion.

    Declaration
    public static IObservable<TResult> Zip<TSource1, TSource2, TResult>(this IObservable<TSource1> first, IObservable<TSource2> second, Func<TSource1, TSource2, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> first

    First observable source.

    IObservable<TSource2> second

    Second observable source.

    Func<TSource1, TSource2, TResult> resultSelector

    Function to invoke for each consecutive pair of elements from the first and second source.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of pairwise combining the elements of the first and second source using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    first or second or resultSelector is null.

    | Improve this Doc View Source

    Zip<TSource1, TSource2, TSource3, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, Func<TSource1, TSource2, TSource3, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.

    Declaration
    public static IObservable<TResult> Zip<TSource1, TSource2, TSource3, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, Func<TSource1, TSource2, TSource3, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    Func<TSource1, TSource2, TSource3, TResult> resultSelector

    Function to invoke for each series of elements at corresponding indexes in the sources.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or resultSelector is null.

    | Improve this Doc View Source

    Zip<TSource1, TSource2, TSource3, TSource4, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, Func<TSource1, TSource2, TSource3, TSource4, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.

    Declaration
    public static IObservable<TResult> Zip<TSource1, TSource2, TSource3, TSource4, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, Func<TSource1, TSource2, TSource3, TSource4, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TResult> resultSelector

    Function to invoke for each series of elements at corresponding indexes in the sources.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or resultSelector is null.

    | Improve this Doc View Source

    Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.

    Declaration
    public static IObservable<TResult> Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TResult> resultSelector

    Function to invoke for each series of elements at corresponding indexes in the sources.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or resultSelector is null.

    | Improve this Doc View Source

    Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, IObservable<TSource6>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.

    Declaration
    public static IObservable<TResult> Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, IObservable<TSource6> source6, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    IObservable<TSource6> source6

    Sixth observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TResult> resultSelector

    Function to invoke for each series of elements at corresponding indexes in the sources.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TSource6

    The type of the elements in the sixth source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or source6 or resultSelector is null.

    | Improve this Doc View Source

    Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, IObservable<TSource6>, IObservable<TSource7>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.

    Declaration
    public static IObservable<TResult> Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, IObservable<TSource6> source6, IObservable<TSource7> source7, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    IObservable<TSource6> source6

    Sixth observable source.

    IObservable<TSource7> source7

    Seventh observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TResult> resultSelector

    Function to invoke for each series of elements at corresponding indexes in the sources.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TSource6

    The type of the elements in the sixth source sequence.

    TSource7

    The type of the elements in the seventh source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or source6 or source7 or resultSelector is null.

    | Improve this Doc View Source

    Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TResult>(IObservable<TSource1>, IObservable<TSource2>, IObservable<TSource3>, IObservable<TSource4>, IObservable<TSource5>, IObservable<TSource6>, IObservable<TSource7>, IObservable<TSource8>, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TResult>)

    Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.

    Declaration
    public static IObservable<TResult> Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TResult>(this IObservable<TSource1> source1, IObservable<TSource2> source2, IObservable<TSource3> source3, IObservable<TSource4> source4, IObservable<TSource5> source5, IObservable<TSource6> source6, IObservable<TSource7> source7, IObservable<TSource8> source8, Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TResult> resultSelector)
    Parameters
    Type Name Description
    IObservable<TSource1> source1

    First observable source.

    IObservable<TSource2> source2

    Second observable source.

    IObservable<TSource3> source3

    Third observable source.

    IObservable<TSource4> source4

    Fourth observable source.

    IObservable<TSource5> source5

    Fifth observable source.

    IObservable<TSource6> source6

    Sixth observable source.

    IObservable<TSource7> source7

    Seventh observable source.

    IObservable<TSource8> source8

    Eighth observable source.

    Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TResult> resultSelector

    Function to invoke for each series of elements at corresponding indexes in the sources.

    Returns
    Type Description
    IObservable<TResult>

    An observable sequence containing the result of combining elements of the sources using the specified result selector function.

    Type Parameters
    Name Description
    TSource1

    The type of the elements in the first source sequence.

    TSource2

    The type of the elements in the second source sequence.

    TSource3

    The type of the elements in the third source sequence.

    TSource4

    The type of the elements in the fourth source sequence.

    TSource5

    The type of the elements in the fifth source sequence.

    TSource6

    The type of the elements in the sixth source sequence.

    TSource7

    The type of the elements in the seventh source sequence.

    TSource8

    The type of the elements in the eighth source sequence.

    TResult

    The type of the elements in the result sequence, returned by the selector function.

    Exceptions
    Type Condition
    ArgumentNullException

    source1 or source2 or source3 or source4 or source5 or source6 or source7 or source8 or resultSelector is null.

    • Improve this Doc
    • View Source
    In This Article
    Back to top Generated by DocFX