Share via

Observable.Publish<TSource> Method (IObservable<TSource>, TSource)

Returns a connectable observable sequence that shares a single subscription to the underlying sequence and starts with initialValue.

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


<ExtensionAttribute> _
Public Shared Function Publish(Of TSource) ( _
    source As IObservable(Of TSource), _
    initialValue As TSource _
) As IConnectableObservable(Of TSource)
Dim source As IObservable(Of TSource)
Dim initialValue As TSource
Dim returnValue As IConnectableObservable(Of TSource)

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

Type Parameters

  • TSource
    The type source.


  • source
    Type: System.IObservable<TSource>
    The source sequence whose elements will be multicasted through a single shared subscription.
  • initialValue
    Type: TSource
    The selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence.

Return Value

Type: System.Reactive.Subjects.IConnectableObservable<TSource>
The connectable observable sequence that shares a single subscription to the underlying sequence.

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

Publish Overload

System.Reactive.Linq Namespace