Observable.SelectMany<TSource、TResult> 方法 (IObservable<TSource>、Func<TSource、IObservable<TResult>>、Func<Exception、IObservable<TResult>>、Func<IObservable<TResult>>)

将可观测序列的每个元素投影到可观测序列中,并将生成的可观测序列平展为一个可观测序列。

Namespace:System.Reactive.Linq
装配: System.Reactive.dll) 中的 System.Reactive (

语法

'Declaration
<ExtensionAttribute> _
Public Shared Function SelectMany(Of TSource, TResult) ( _
    source As IObservable(Of TSource), _
    onNext As Func(Of TSource, IObservable(Of TResult)), _
    onError As Func(Of Exception, IObservable(Of TResult)), _
    onCompleted As Func(Of IObservable(Of TResult)) _
) As IObservable(Of TResult)
'Usage
Dim source As IObservable(Of TSource)
Dim onNext As Func(Of TSource, IObservable(Of TResult))
Dim onError As Func(Of Exception, IObservable(Of TResult))
Dim onCompleted As Func(Of IObservable(Of TResult))
Dim returnValue As IObservable(Of TResult)

returnValue = source.SelectMany(onNext, _
    onError, onCompleted)
public static IObservable<TResult> SelectMany<TSource, TResult>(
    this IObservable<TSource> source,
    Func<TSource, IObservable<TResult>> onNext,
    Func<Exception, IObservable<TResult>> onError,
    Func<IObservable<TResult>> onCompleted
)
[ExtensionAttribute]
public:
generic<typename TSource, typename TResult>
static IObservable<TResult>^ SelectMany(
    IObservable<TSource>^ source, 
    Func<TSource, IObservable<TResult>^>^ onNext, 
    Func<Exception^, IObservable<TResult>^>^ onError, 
    Func<IObservable<TResult>^>^ onCompleted
)
static member SelectMany : 
        source:IObservable<'TSource> * 
        onNext:Func<'TSource, IObservable<'TResult>> * 
        onError:Func<Exception, IObservable<'TResult>> * 
        onCompleted:Func<IObservable<'TResult>> -> IObservable<'TResult> 
JScript does not support generic types and methods.

类型参数

  • TSource
    源的类型。
  • TResult
    结果的类型。

参数

  • onCompleted
    类型: System.Func<IObservable<TResult>>
    在到达源序列的末尾时应用的转换函数。

返回值

类型: System.IObservable<TResult>
一个可观测序列,其元素是调用与输入序列中的每个通知对应的一对多转换函数的结果。

使用说明

在 Visual Basic 和 C# 中,可以在 IObservable<TSource> 类型的任何对象上调用此方法作为实例方法。 当使用实例方法语法调用此方法时,请省略第一个参数。 有关详细信息,请参阅

另请参阅

参考

可观测类

SelectMany 重载

System.Reactive.Linq 命名空间