Share via

Observable.Do<TSource> Method (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.

Namespace:  System.Reactive.Linq
Assembly:  System.Reactive (in System.Reactive.dll)


<ExtensionAttribute> _
Public Shared Function Do(Of TSource) ( _
    source As IObservable(Of TSource), _
    onNext As Action(Of TSource), _
    onCompleted As Action _
) As IObservable(Of TSource)
Dim source As IObservable(Of TSource)
Dim onNext As Action(Of TSource)
Dim onCompleted As Action
Dim returnValue As IObservable(Of TSource)

returnValue = source.Do(onNext, onCompleted)
public static IObservable<TSource> Do<TSource>(
    this IObservable<TSource> source,
    Action<TSource> onNext,
    Action onCompleted
generic<typename TSource>
static IObservable<TSource>^ Do(
    IObservable<TSource>^ source, 
    Action<TSource>^ onNext, 
    Action^ onCompleted
static member Do : 
        source:IObservable<'TSource> * 
        onNext:Action<'TSource> * 
        onCompleted:Action -> IObservable<'TSource> 
JScript does not support generic types and methods.

Type Parameters

  • TSource
    The type of source


  • onNext
    Type: System.Action<TSource>
    The action to invoke for each element in the observable sequence.
  • onCompleted
    Type: System.Action
    The action to invoke upon graceful termination of the observable sequence.

Return Value

Type: System.IObservable<TSource>
The source sequence with the side-effecting behavior applied.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IObservable<TSource>. When you use instance method syntax to call this method, omit the first parameter. For more information, see or .

See Also


Observable Class

Do Overload

System.Reactive.Linq Namespace