Observable.Switch(IObservable>) method¶
Defined in
Type: Observable
Namespace: System.Reactive.Linq
Assembly: System.Reactive.dll
Applies to
netstandard2.0
Overloads¶
- 1.
public static IObservable<TSource> Switch<TSource>(this IObservable<IObservable<TSource>> sources) - 2.
public static IObservable<TSource> Switch<TSource>(this IObservable<Task<TSource>> sources)
1. Overload¶
public static IObservable<TSource> Switch<TSource>(this IObservable<IObservable<TSource>> sources)
Summary: 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.
Type parameters
| Name | Description |
|---|---|
TSource | The type of the elements in the source sequences. |
Parameters
| Name | Type | Description |
|---|---|---|
sources | IObservable | Observable sequence of inner observable sequences. |
Returns: IObservable
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentNullException | sources is null. |
2. Overload¶
public static IObservable<TSource> Switch<TSource>(this IObservable<Task<TSource>> sources)
Summary: 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.
Type parameters
| Name | Description |
|---|---|
TSource | The type of the results produced by the source tasks. |
Parameters
| Name | Type | Description |
|---|---|---|
sources | IObservable | Observable sequence of tasks. |
Returns: IObservable
Remarks
If the tasks support cancellation, consider manual conversion of the tasks using FromAsync, followed by a switch operation using Switch.
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentNullException | sources is null. |