Observable.Publish(Of TSource, TResult) Method (IObservable(Of TSource), Func(Of IObservable(Of TSource), IObservable(Of 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.

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

<ExtensionAttribute> _
Public Shared Function Publish(Of TSource, TResult) ( _
	source As IObservable(Of TSource), _
	selector As Func(Of IObservable(Of TSource), IObservable(Of TResult)) _
) As IObservable(Of TResult)
Dim source As IObservable(Of TSource)
Dim selector As Func(Of IObservable(Of TSource), IObservable(Of TResult))
Dim returnValue As IObservable(Of TResult)

returnValue = source.Publish(selector)

Type Parameters


The type of source.


The type of result.


Type: System.IObservable(Of TSource)
The source sequence whose elements will be multicasted through a single shared subscription.
Type: System.Func(Of IObservable(Of TSource), IObservable(Of TResult))
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.IObservable(Of TResult)
An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IObservable(Of TSource). When you use instance method syntax to call this method, omit the first parameter. For more information, see https://msdn.microsoft.com/en-us/library/bb384936(v=vs.103).aspx or https://msdn.microsoft.com/en-us/library/bb383977(v=vs.103).aspx.