<PackageReference Include="System.Reactive" Version="4.1.6" />

ObservableEx

public static class ObservableEx
Provides a set of static methods for writing in-memory queries over observable sequences.
public static IObservable<TResult> Create<TResult>(Func<IObserver<TResult>, IEnumerable<IObservable<object>>> iteratorMethod)

Subscribes to each observable sequence returned by the iteratorMethod in sequence and returns the observable sequence of values sent to the observer given to the iteratorMethod.

public static IObservable<Unit> Create(Func<IEnumerable<IObservable<object>>> iteratorMethod)

Subscribes to each observable sequence returned by the iteratorMethod in sequence and produces a Unit value on the resulting sequence for each step of the iteration.

public static IObservable<TSource> Expand<TSource>(this IObservable<TSource> source, Func<TSource, IObservable<TSource>> selector, IScheduler scheduler)

Expands an observable sequence by recursively invoking selector, using the specified scheduler to enumerate the queue of obtained sequences.

public static IObservable<TSource> Expand<TSource>(this IObservable<TSource> source, Func<TSource, IObservable<TSource>> selector)

Expands an observable sequence by recursively invoking selector.

public static IObservable<TResult> ForkJoin<TSource1, TSource2, TResult>(this IObservable<TSource1> first, IObservable<TSource2> second, Func<TSource1, TSource2, TResult> resultSelector)

Runs two observable sequences in parallel and combines their last elements.

public static IObservable<TSource[]> ForkJoin<TSource>(IObservable<TSource>[] sources)

Runs all specified observable sequences in parallel and collects their last elements.

public static IObservable<TSource[]> ForkJoin<TSource>(this IEnumerable<IObservable<TSource>> sources)

Runs all observable sequences in the enumerable sources sequence in parallel and collect their last elements.

public static IObservable<TResult> Let<TSource, TResult>(this IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector)

Returns an observable sequence that is the result of invoking the selector on the source sequence, without sharing subscriptions. This operator allows for a fluent style of writing queries that use the same sequence multiple times.

public static IObservable<TResult> ManySelect<TSource, TResult>(this IObservable<TSource> source, Func<IObservable<TSource>, TResult> selector, IScheduler scheduler)

Comonadic bind operator.

public static IObservable<TResult> ManySelect<TSource, TResult>(this IObservable<TSource> source, Func<IObservable<TSource>, TResult> selector)

Comonadic bind operator.

public static ListObservable<TSource> ToListObservable<TSource>(this IObservable<TSource> source)

Immediately subscribes to source and retains the elements in the observable sequence.