AsyncSubject<T> 类

表示异步操作的结果。

继承层次结构

System.Object
  System.Reactive.Subjects.AsyncSubject<T>

命名空间:System.Reactive.Subjects
程序集: System.Reactive(System.Reactive.dll)

语法

'Declaration
Public NotInheritable Class AsyncSubject(Of T) _
    Implements ISubject(Of T), ISubject(Of T, T),  _
    IObserver(Of T), IObservable(Of T), IDisposable
'Usage
Dim instance As AsyncSubject(Of T)
public sealed class AsyncSubject<T> : ISubject<T>, 
    ISubject<T, T>, IObserver<T>, IObservable<T>, IDisposable
generic<typename T>
public ref class AsyncSubject sealed : ISubject<T>, 
    ISubject<T, T>, IObserver<T>, IObservable<T>, IDisposable
[<SealedAttribute>]
type AsyncSubject<'T> =  
    class
        interface ISubject<'T>
        interface ISubject<'T, 'T>
        interface IObserver<'T>
        interface IObservable<'T>
        interface IDisposable
    end
JScript does not support generic types and methods.

类型参数

  • T
    类型。

AsyncSubject<T> 类型公开以下成员。

构造 函数

  名字 描述
公共方法 AsyncSubject<T> 初始化 AsyncSubject<T> 类的新实例。

返回页首

方法

  名字 描述
公共方法 Dispose 取消订阅所有观察程序并释放资源。
公共方法 equals (继承自 对象.)
Protected 方法 完成 (继承自 对象.)
公共方法 GetHashCode (继承自 对象.)
公共方法 GetType (继承自 对象.)
Protected 方法 MemberwiseClone (继承自 对象.)
公共方法 OnCompleted 通知序列末尾的所有订阅观察者,也会导致发送最后一个接收的值(如果有)。
公共方法 onError 通知所有订阅的观察者,但例外。
公共方法 OnNext 向主题发送值。 成功终止之前收到的最后一个值将发送给所有订阅的观察者。
公共方法 订阅 订阅主题的观察者。
公共方法 ToString (继承自 对象.)

返回页首

扩展方法

  名字 描述
公共扩展方法 聚合<T>(Func<T, T, T>) 重载。 对可观测序列应用累加器函数。 (由 可观测定义。
公共扩展方法 聚合<T、TAccumulate>(TAccumulate、Func<TAccumulate、T、T、TAccumulate>) 重载。 对具有指定种子值的可观测序列应用累加器函数。 (由 可观测定义。
公共扩展方法 所有<T> 确定可观测序列的所有元素是否满足条件。 (由 可观测定义。
公共扩展方法 Amb<T> 传播具有指定第一个和第二个序列的第一个和第二个序列的可观察序列。 (由 可观测定义。
公共扩展方法 和<T、TRight> 当两个可观测序列都具有可用值时匹配。 (由 可观测定义。
公共扩展方法 任何<T>() 重载。 确定可观测序列是否包含任何元素。 (由 可观测定义。
公共扩展方法 任何<T>(Func<T, boolean>) 重载。 确定可观测序列的所有元素是否满足条件。 (由 可观测定义。
公共扩展方法 AsObservable<T> 隐藏可观测序列的标识。 (由 可观测定义。
公共扩展方法 AsObserver<T> 隐藏观察者的标识。 (由 观察家定义。
公共扩展方法 AsQbservable<T> 将可观测序列转换为可查询的可观察序列。 (由 Qbservable定义。
公共扩展方法 AssertEqual<T> (由 扩展定义)
公共扩展方法 缓冲区<T>(Int32) 重载。 指示可观测序列的每个元素成连续的非重叠缓冲区,这些缓冲区基于元素计数信息生成。 (由 可观测定义。
公共扩展方法 缓冲区<T>(TimeSpan) 重载。 指示可观测序列的每个元素成连续的非重叠缓冲区,这些缓冲区基于计时信息生成。 (由 可观测定义。
公共扩展方法 缓冲区<T>(Int32, Int32) 重载。 将可观测序列的每个元素指示为零个或多个缓冲区,这些缓冲区基于元素计数信息生成。 (由 可观测定义。
公共扩展方法 缓冲区<T>(TimeSpan, IScheduler) 重载。 指示可观测序列的每个元素成连续的非重叠缓冲区,这些缓冲区基于计时信息生成。 (由 可观测定义。
公共扩展方法 缓冲区<T>(TimeSpan, TimeSpan) 重载。 将可观测序列的每个元素指示为零个或多个缓冲区,这些缓冲区是根据计时信息生成的。 (由 可观测定义。
公共扩展方法 缓冲区<T>(TimeSpan, Int32) 重载。 将可观测序列的每个元素指示到缓冲区中,当缓冲区已满或给定的时间已过时发送。 (由 可观测定义。
公共扩展方法 缓冲区<T>(TimeSpan、TimeSpan、IScheduler) 重载。 将可观测序列的每个元素指示为零个或多个缓冲区,这些缓冲区是根据计时信息生成的。 (由 可观测定义。
公共扩展方法 Buffer<T>(TimeSpan, Int32, IScheduler) 重载。 将可观测序列的每个元素指示到缓冲区中,当缓冲区已满或给定的时间已过时发送。 (由 可观测定义。
公共扩展方法 缓冲区<T、TBufferClosing>(Func<IObservable<TBufferClosing>>) 重载。 指示可观测序列的每个元素进入连续的非重叠缓冲区。 (由 可观测定义。
公共扩展方法 缓冲区<T、TBufferOpening、TBufferClosing>(IObservable<TBufferOpening>、Func<TBufferOpening、IObservable<TBufferClosing>>) 重载。 指示可查询可观察序列的每个元素进入连续的非重叠缓冲区。 (由 可观测定义。
公共扩展方法 Catch<T>(IObservable<T>) 重载。 继续一个可观察序列,该序列由具有下一个可观察序列的异常终止。 (由 可观测定义。
公共扩展方法 Catch<T、TException>(Func<TException、 IObservable<T>>) 重载。 继续一个可观察序列,该序列由指定类型的异常终止,该序列由处理程序生成的可观测序列终止。 (由 可观测定义。
公共扩展方法 CombineLatest<T、TSecond、TResult> 每当其中一个可观测序列生成元素时,使用选择器函数将两个可观测序列合并到一个可观察序列中。 (由 可观测定义。
公共扩展方法 Concat<T> 连接两个可观测序列。 (由 可观测定义。
公共扩展方法 包含<T>(T) 重载。 使用默认相等比较器确定可观测序列是否包含指定的元素。 (由 可观测定义。
公共扩展方法 包含<T>(T, IEqualityComparer<T>) 重载。 确定可观测序列是否使用指定的 System.Collections.Generic.IEqualityComparer< 包含指定的元素;T>。 (由 可观测定义。
公共扩展方法 计数<T> 返回一个 Int32,表示可观测序列中的元素总数。 (由 可观测定义。
公共扩展方法 DefaultIfEmpty<T>() 重载。 如果序列为空,则返回指定序列的元素或类型参数在单一实例序列中的默认值。 (由 可观测定义。
公共扩展方法 DefaultIfEmpty<T>(T) 重载。 如果序列为空,则返回指定序列的元素或类型参数在单一实例序列中的默认值。 (由 可观测定义。
公共扩展方法 延迟<T>(TimeSpan) 重载。 通过指定的源和 dueTime 按到期时间指示可观测序列。 (由 可观测定义。
公共扩展方法 延迟<T>(DateTimeOffset) 重载。 通过指定的源和 dueTime 按到期时间指示可观测序列。 (由 可观测定义。
公共扩展方法 延迟<T>(TimeSpan, IScheduler) 重载。 通过指定的源、dueTime 和计划程序按到期时间指示可观测序列。 (由 可观测定义。
公共扩展方法 延迟<T>(DateTimeOffset, IScheduler) 重载。 通过指定的源、dueTime 和计划程序按到期时间指示可观测序列。 (由 可观测定义。
公共扩展方法 不同<T>() 重载。 返回一个可观察序列,该序列仅包含具有指定源的不同元素。 (由 可观测定义。
公共扩展方法 Distinct<T>(IEqualityComparer<T>) 重载。 返回一个可观察序列,该序列仅包含根据比较器的不同元素。 (由 可观测定义。
公共扩展方法 不同<T、TKey>(Func<T、TKey>) 重载。 返回一个可观察序列,该序列仅包含根据 keySelector 的不同元素。 (由 可观测定义。
公共扩展方法 不同的<T、TKey>(Func<T、TKey>、IEqualityComparer<TKey>) 重载。 返回一个可观察序列,该序列仅包含根据 keySelector 的不同元素。 (由 可观测定义。
公共扩展方法 DistinctUntilChanged<T>() 重载。 返回一个可观察序列,该序列仅包含具有指定源的不同连续元素。 (由 可观测定义。
公共扩展方法 DistinctUntilChanged<T>(IEqualityComparer<T>) 重载。 返回一个可观察序列,该序列仅包含根据比较器的不同连续元素。 (由 可观测定义。
公共扩展方法 DistinctUntilChanged<T、TKey>(Func<T、TKey>) 重载。 返回一个可观察序列,该序列仅包含根据 keySelector 的不同连续元素。 (由 可观测定义。
公共扩展方法 DistinctUntilChanged<T、TKey>(Func<T、TKey>、IEqualityComparer<TKey>) 重载。 返回一个可观察序列,该序列仅包含根据 keySelector 和比较器的不同连续元素。 (由 可观测定义。
公共扩展方法 做<T>(操作<T>) 重载。 调用可观察序列中每个元素的操作。 (由 可观测定义。
公共扩展方法 做<T>(IObserver<T>) 重载。 调用可观测序列中每个元素的操作,并在可观测序列异常终止时调用操作。 (由 可观测定义。
公共扩展方法 做<T>(操作<T>, 操作) 重载。 调用可观测序列中每个元素的操作,并在可观测序列正常终止时调用操作。 (由 可观测定义。
公共扩展方法 执行<T>(操作<T>、操作<异常>) 重载。 调用可观测序列中每个元素的操作,并在可观测序列异常终止时调用操作。 (由 可观测定义。
公共扩展方法 执行<T>(操作<T>、操作<异常>、操作) 重载。 为可观测序列中的每个元素调用操作,并在可观测序列正常终止或异常终止时调用操作。 (由 可观测定义。
公共扩展方法 ElementAt<T> 返回序列中指定索引处的元素。 (由 可观测定义。
公共扩展方法 ElementAtOrDefault<T> 返回序列中指定索引处的元素;如果索引范围不足,则返回默认值。 (由 可观测定义。
公共扩展方法 终于<T> 在源可观测序列正常终止或异常后调用指定的操作。 (由 可观测定义。
公共扩展方法 第一<T>() 重载。 返回具有指定源的可观测序列的第一个元素。 (由 可观测定义。
公共扩展方法 第一<T>(Func<T, boolean>) 重载。 返回与谓词匹配的可观察序列的第一个元素。 (由 可观测定义。
公共扩展方法 FirstOrDefault<T>() 重载。 返回可观测序列的第一个元素;如果未找到任何值,则返回默认值。 (由 可观测定义。
公共扩展方法 FirstOrDefault<T>(Func<T, boolean>) 重载。 返回与谓词匹配的可观察序列的第一个元素,如果未找到任何值,则返回默认值。 (由 可观测定义。
公共扩展方法 Foo<T、R> (由 MyExt定义。
公共扩展方法 ForEach<T> 为可观察序列中的每个元素调用一个操作,并在序列终止之前阻止。 (由 可观测定义。
公共扩展方法 GetEnumerator<T> 返回枚举器,该枚举器枚举可观测序列的所有值。 (由 可观测定义。
公共扩展方法 GroupBy<T、TKey>(Func<T、TKey>) 重载。 根据指定的键选择器函数对可观测序列的元素进行分组。 (由 可观测定义。
公共扩展方法 GroupBy<T、TKey>(Func<T、TKey>、IEqualityComparer<TKey>) 重载。 根据指定的键选择器函数和比较器对可观测序列的元素进行分组。 (由 可观测定义。
公共扩展方法 GroupBy<T、TKey、TElement>(Func<T、TKey>、Func<T、TElement>) 重载。 对可观测序列的元素进行分组,并使用指定的函数选择生成的元素。 (由 可观测定义。
公共扩展方法 GroupBy<T、TKey、TElement>(Func<T、TKey>、Func<T、TElement>、IEqualityComparer<TKey>) 重载。 根据指定的键选择器函数和比较器对可观测序列的元素进行分组,并使用指定的函数选择生成的元素。 (由 可观测定义。
公共扩展方法 GroupByUntil<T、TKey、TDuration>(Func<T、TKey>、Func<IGroupedObservable<TKey、T>、IObservable<TDuration>>) 重载。 根据指定的键选择器函数对可观测序列的元素进行分组。 (由 可观测定义。
公共扩展方法 GroupByUntil<T、TKey、TDuration>(Func<T、TKey>、Func<IGroupedObservable<TKey、T>、IObservable<TDuration>>、IEqualityComparer<TKey>) 重载。 根据指定的键选择器函数和比较器对可观测序列的元素进行分组。 (由 可观测定义。
公共扩展方法 GroupByUntil<T、TKey、TElement、TDuration>(Func<T、TKey>、Func<T、TElement>、Func<IGroupedObservable<TKey、TElement>、IObservable<TDuration>>) 重载。 根据指定的键选择器函数对可观测序列的元素进行分组,并使用指定的函数选择生成的元素。 (由 可观测定义。
公共扩展方法 GroupByUntil<T, TKey、TElement、TDuration>(Func<T、TKey>、Func<T、TElement>、Func<IGroupedObservable<TKey、TElement>、IObservable<TDuration>>、IEqualityComparer<TKey>) 重载。 根据指定的键选择器函数和比较器对可观测序列的元素进行分组,并使用指定的函数选择生成的元素。 (由 可观测定义。
公共扩展方法 GroupJoin<T、TRight、TLeftDuration、TRightDuration、TResult> 根据重叠持续时间关联两个序列的元素,并对结果进行分组。 (由 可观测定义。
公共扩展方法 IgnoreElements<T> 忽略可观察序列中的所有值,只保留终止消息。 (由 可观测定义。
公共扩展方法 联接<T、TRight、TLeftDuration、TRightDuration、TResult> 根据重叠持续时间关联两个序列的元素。 (由 可观测定义。
公共扩展方法 上次<T>() 重载。 返回具有指定源的可观察序列的最后一个元素。 (由 可观测定义。
公共扩展方法 上次<T>(Func<T, boolean>) 重载。 返回与谓词匹配的可观察序列的最后一个元素。 (由 可观测定义。
公共扩展方法 LastOrDefault<T>() 重载。 返回可观测序列中的最后一个元素;如果未找到任何值,则返回默认值。 (由 可观测定义。
公共扩展方法 LastOrDefault<T>(Func<T, boolean>) 重载。 返回与谓词匹配的可观察序列的最后一个元素,如果未找到任何值,则返回默认值。 (由 可观测定义。
公共扩展方法 最新<T> 对可观测序列中的最新值进行采样。 (由 可观测定义。
公共扩展方法 LongCount<T> 返回一个 Int64,表示可观测序列中的元素总数。 (由 可观测定义。
公共扩展方法 具体化<T> 具体化可观测序列的隐式通知作为显式通知值。 (由 可观测定义。
公共扩展方法 最大<T>() 重载。 返回可观测序列中的最大元素。 (由 可观测定义。
公共扩展方法 Max<T>(IComparer<T>) 重载。 根据指定的比较器返回可观察序列中的最大值。 (由 可观测定义。
公共扩展方法 MaxBy<T、TKey>(Func<T、TKey>) 重载。 返回具有最大键值的可观察序列中的元素。 (由 可观测定义。
公共扩展方法 MaxBy<T、TKey>(Func<T、TKey>、IComparer<TKey>) 重载。 返回具有最大键值的可观察序列中的元素。 (由 可观测定义。
公共扩展方法 合并<T>(IObservable<T>) 重载。 将可观测序列的可观测序列合并到可观测序列中。 (由 可观测定义。
公共扩展方法 合并<T>(IObservable<T>, IScheduler) 重载。 将两个可观测序列合并为单个可观测序列。 (由 可观测定义。
公共扩展方法 Min<T>() 重载。 返回可观测序列中的最小元素。 (由 可观测定义。
公共扩展方法 Min<T>(IComparer<T>) 重载。 根据指定的比较器返回可观测序列中的最小值。 (由 可观测定义。
公共扩展方法 MinBy<T、TKey>(Func<T、TKey>) 重载。 返回具有最小值的可观察序列中的元素。 (由 可观测定义。
公共扩展方法 MinBy<T、TKey>(Func<T、TKey>、IComparer<TKey>) 重载。 根据指定的比较器返回具有最小键值的可观测序列中的元素。 (由 可观测定义。
公共扩展方法 MostRecent<T> 对可观测序列中的最新值进行采样。 (由 可观测定义。
公共扩展方法 多播<T、TResult>(ISubject<T、TResult>) 重载。 返回一个可连接的可观察序列,该序列在连接时会导致源序列将结果推送到指定的主题中。 (由 可观测定义。
公共扩展方法 多播<T、TIntermediate、TResult>(Func<ISubject<T、TIntermediate>>、Func<IObservable<TIntermediate>、IObservable<TResult>>) 重载。 返回一个可观察序列,该序列包含由多播源序列在选择器函数中生成的序列的元素。 (由 可观测定义。
公共扩展方法 下一<T> 从可观测序列中采样下一个值(阻止而不缓冲)。 (由 可观测定义。
公共扩展方法 ObserveOn<T>(SynchronizationContext) 重载。 在指定的同步上下文中异步通知观察程序。 (由 可观测定义。
公共扩展方法 ObserveOn<T>(控制) 重载。 (由 ControlObservable定义。
公共扩展方法 ObserveOn<T>(调度程序) 重载。 (由 DispatcherObservable定义)
公共扩展方法 ObserveOn<T>(DispatcherScheduler) 重载。 (由 DispatcherObservable定义)
公共扩展方法 ObserveOn<T>(IScheduler) 重载。 在指定的计划程序上异步通知观察程序。 (由 可观测定义。
公共扩展方法 ObserveOnDispatcher<T> (由 DispatcherObservable定义)
公共扩展方法 OnErrorResumeNext<T> 继续一个可观察序列,该序列以正常方式终止,或者由具有下一个可观察序列的异常终止。 (由 可观测定义。
公共扩展方法 发布<T>() 重载。 返回一个可连接的可观察序列,该序列与基础序列共享单个订阅。 (由 可观测定义。
公共扩展方法 发布<T>(T) 重载。 返回一个可连接可观察序列,该序列与基础序列共享单个订阅并从 initialValue 开始。 (由 可观测定义。
公共扩展方法 发布<T、TResult>(Func<IObservable<T>、IObservable<TResult>>) 重载。 返回一个可观察序列,该序列是调用可连接可观测序列上的选择器的结果,该序列与基础序列共享单个订阅。 (由 可观测定义。
公共扩展方法 发布<T、TResult>(Func<IObservable<T>、IObservable<TResult>>、T) 重载。 返回一个可连接可观察序列,该序列与基础序列共享单个订阅并从 initialValue 开始。 (由 可观测定义。
公共扩展方法 PublishLast<T>() 重载。 返回一个可连接可观察序列,该序列将单个订阅共享到仅包含最后一个通知的基础序列。 (由 可观测定义。
公共扩展方法 PublishLast<T、TResult>(Func<IObservable<T>、IObservable<TResult>>) 重载。 返回一个可观察序列,该序列是调用可连接可观测序列上的选择器的结果,该序列将单个订阅共享到仅包含最后一个通知的基础序列。 (由 可观测定义。
公共扩展方法 重复<T>() 重载。 无限期重复可观测序列。 (由 可观测定义。
公共扩展方法 重复<T>(Int32) 重载。 无限期重复可观测序列。 (由 可观测定义。
公共扩展方法 重播<T>() 重载。 返回一个可连接可观察序列,该序列与基础序列共享一个订阅,重播所有通知。 (由 可观测定义。
公共扩展方法 重播 T<>(TimeSpan) 重载。 返回一个可连接的可观察序列,该序列与基础序列共享一个订阅,重播窗口中的所有通知。 (由 可观测定义。
公共扩展方法 重播<T>(Int32) 重载。 返回一个可连接的可观察序列,该序列与基础序列重播 bufferSize 通知共享单个订阅。 (由 可观测定义。
公共扩展方法 重播<T>(IScheduler) 重载。 返回一个可连接可观察序列,该序列与基础序列共享一个订阅,重播所有通知。 (由 可观测定义。
公共扩展方法 重播 T<>(TimeSpan, IScheduler) 重载。 返回一个可连接的可观察序列,该序列与基础序列共享一个订阅,重播窗口中的所有通知。 (由 可观测定义。
公共扩展方法 重播<T>(Int32, IScheduler) 重载。 返回一个可连接的可观察序列,该序列与基础序列重播 bufferSize 通知共享单个订阅。 (由 可观测定义。
公共扩展方法 重播<T>(Int32, TimeSpan) 重载。 返回一个可连接的可观察序列,该序列将单个订阅共享到窗口内的基础序列重播 bufferSize 通知。 (由 可观测定义。
公共扩展方法 重播<T>(Int32, TimeSpan, IScheduler) 重载。 返回一个可连接的可观察序列,该序列将单个订阅共享到窗口内的基础序列重播 bufferSize 通知。 (由 可观测定义。
公共扩展方法 重播<T、TResult>(Func<IObservable<T>、IObservable<TResult>>) 重载。 返回一个可观测序列,该序列是调用可连接可观测序列上的选择器的结果,该序列与基础序列共享单个订阅并从初始值开始。 (由 可观测定义。
公共扩展方法 重<播 T、TResult>(Func<IObservable<T>、IObservable<TResult>>、IScheduler) 重载。 返回一个可观察序列,该序列是调用可连接可观测序列上的选择器的结果,该序列共享一个订阅,该序列将共享基础序列重播所有通知。 (由 可观测定义。
公共扩展方法 重<播 T、TResult>(Func<IObservable<T>、IObservable<TResult>>、TimeSpan) 重载。 返回一个可观察序列,该序列是调用可连接可观测序列上的选择器的结果,该序列与基础序列共享一个订阅,重播窗口中的所有通知。 (由 可观测定义。
公共扩展方法 重播<T、TResult>(Func<IObservable<T>、IObservable<TResult>>、Int32) 重载。 返回一个可观察序列,该序列是调用可连接可观测序列上的选择器的结果,该序列与基础序列重播 bufferSize 通知共享单个订阅。 (由 可观测定义。
公共扩展方法 重播<T、TResult>(Func<IObservable<T>、IObservable<TResult>>、TimeSpan、IScheduler) 重载。 返回一个可观察序列,该序列是调用可连接可观测序列上的选择器的结果,该序列与基础序列共享一个订阅,重播窗口中的所有通知。 (由 可观测定义。
公共扩展方法 重<播 T、TResult>(Func<IObservable<T>、IObservable<TResult>>、Int32、IScheduler) 重载。 返回一个可观察序列,该序列是调用可连接可观测序列上的选择器的结果,该序列与基础序列重播 bufferSize 通知共享单个订阅。 (由 可观测定义。
公共扩展方法 重播<T、TResult>(Func<IObservable<T>、IObservable<TResult>>、Int32、TimeSpan) 重载。 返回一个可观察序列,该序列是调用可连接可观测序列上的选择器的结果,该序列与窗口内的基础序列重播 bufferSize 通知共享单个订阅。 (由 可观测定义。
公共扩展方法 重<播 T、TResult>(Func<IObservable<T>、IObservable<TResult>>、Int32、TimeSpan、IScheduler) 重载。 返回一个可观察序列,该序列是调用可连接可观测序列上的选择器的结果,该序列与窗口内的基础序列重播 bufferSize 通知共享单个订阅。 (由 可观测定义。
公共扩展方法 重试<T>() 重载。 重复源可观测序列,直到它成功终止。 (由 可观测定义。
公共扩展方法 重试<T>(Int32) 重载。 重复源可观测序列,直到它成功终止。 (由 可观测定义。
公共扩展方法 示例<T>(TimeSpan) 重载。 在每个间隔对可观测序列进行采样。 (由 可观测定义。
公共扩展方法 示例<T>(TimeSpan, IScheduler) 重载。 使用指定的源、间隔和计划程序对每个间隔的可观测序列采样。 (由 可观测定义。
公共扩展方法 示例<T、TSample>(IObservable<TSample>) 重载。 使用指定的源和采样器对采样时钟周期中的可观测序列采样。 (由 可观测定义。
公共扩展方法 扫描<T>(Func<T, T, T>) 重载。 对可观测序列应用累加器函数,并使用指定的源和累加器返回每个中间结果。 (由 可观测定义。
公共扩展方法 扫描<T、TAccumulate>(TAccumulate、Func<TAccumulate、T、T、TAccumulate>) 重载。 对可观测序列应用累加器函数,并使用指定的源、种子和累加器返回每个中间结果。 (由 可观测定义。
公共扩展方法 选择<T、TResult>(Func<T、TResult>) 重载。 将可观测序列的每个元素投影到具有指定源和选择器的新窗体中。 (由 可观测定义。
公共扩展方法 选择<T、TResult>(Func<T、Int32、TResult>) 重载。 通过将元素的索引与指定的源和选择器合并,将可观测序列的每个元素投影到一个新窗体中。 (由 可观测定义。
公共扩展方法 SelectMany<T、TOther>(IObservable<TOther>) 重载。 将可观测序列的每个元素投影到可观测序列,并将生成的可观测序列平展为一个可观测序列。 (由 可观测定义。
公共扩展方法 SelectMany<T、TResult>(Func<T、IObservable<TResult>>) 重载。 将可观测序列的每个元素投影到可观测序列,并将生成的可观测序列平展为一个可观测序列。 (由 可观测定义。
公共扩展方法 SelectMany<T、TResult>(Func<T、IEnumerable<TResult>>) 重载。 将可观测序列的每个元素投影到可观测序列,并将生成的可观测序列平展为一个可观测序列。 (由 可观测定义。
公共扩展方法 SelectMany<T、TResult>(Func<T、IObservable<TResult>>、Func<Exception、IObservable<TResult>>、Func<IObservable<TResult>>) 重载。 将可观测序列的每个元素投影到可观测序列,并将生成的可观测序列平展为一个可观测序列。 (由 可观测定义。
公共扩展方法 SelectMany<T、TCollection、TResult>(Func<T、IEnumerable<TCollection>>、Func<T、TCollection、TResult>) 重载。 将可观测序列的每个元素投影到可观测序列,并将生成的可观测序列平展为一个可观测序列。 (由 可观测定义。
公共扩展方法 SelectMany<T、TCollection、TResult>(Func<T、IObservable<TCollection>>、Func<T、TCollection、TResult>) 重载。 将可观测序列的每个元素投影到可观测序列,并将生成的可观测序列平展为一个可观测序列。 (由 可观测定义。
公共扩展方法 SequenceEqual<T>(IObservable<T>) 重载。 通过比较元素成对来确定两个序列是否相等。 (由 可观测定义。
公共扩展方法 SequenceEqual<T>(IObservable<T>, IEqualityComparer<T>) 重载。 通过使用指定的相等比较器比较元素,确定两个序列是否相等。 (由 可观测定义。
公共扩展方法 单<T>() 重载。 返回可观测序列的唯一元素,如果在可观测序列中没有完全存在一个元素,则引发异常。 (由 可观测定义。
公共扩展方法 单<T>(Func<T, boolean>) 重载。 返回与谓词匹配的可观察序列的唯一元素,如果观测序列中没有完全一个元素,则引发异常。 (由 可观测定义。
公共扩展方法 SingleOrDefault<T>() 重载。 返回可观测序列的唯一元素;如果可观测序列为空,则返回默认值。 (由 可观测定义。
公共扩展方法 SingleOrDefault<T>(Func<T, boolean>) 重载。 返回与谓词匹配的可观察序列的唯一元素;如果未找到任何值,则返回默认值。 (由 可观测定义。
公共扩展方法 跳过 t<T> 绕过可观察序列中的指定数目的值,然后返回其余值。 (由 可观测定义。
公共扩展方法 SkipLast<T> 绕过可观测序列末尾的指定数量的元素。 (由 可观测定义。
公共扩展方法 SkipUntil<T、TOther> 仅在其他可观测序列生成值之后,才返回源可观测序列中的值。 (由 可观测定义。
公共扩展方法 SkipWhile<T>(Func<T, boolean>) 重载。 只要指定条件为 true,即可绕过可观察序列中的值,然后返回其余值。 (由 可观测定义。
公共扩展方法 SkipWhile<T>(Func<T, Int32, boolean>) 重载。 只要指定条件为 true,即可绕过可观察序列中的值,然后返回其余值。 (由 可观测定义。
公共扩展方法 StartWith<T>T[]) 重载。 将一系列值追加到具有指定源和值的可观察序列。 (由 可观测定义。
公共扩展方法 StartWith<T>(IScheduler, T[]) 重载。 将一系列值追加到具有指定源、计划程序和值的可观察序列。 (由 可观测定义。
公共扩展方法 订阅<T>() 重载。 计算具有指定源的可观测序列。 (由 ObservableExtensions定义)
公共扩展方法 订阅<T>(操作<T>) 重载。 将元素处理程序订阅到可观察序列。 (由 ObservableExtensions定义)
公共扩展方法 订阅<T>(操作<T>、操作<异常>) 重载。 将元素处理程序和异常处理程序订阅到可观测序列。 (由 ObservableExtensions定义)
公共扩展方法 订阅<T>(操作<T>, 操作) 重载。 将元素处理程序和完成处理程序订阅到可观测序列。 (由 ObservableExtensions定义)
公共扩展方法 订阅<T>(操作<T>、操作<异常>、操作) 重载。 将元素处理程序、异常处理程序和完成处理程序订阅到可观察序列。 (由 ObservableExtensions定义)
公共扩展方法 SubscribeOn<T>(SynchronizationContext) 重载。 在指定的同步上下文上异步订阅和取消订阅观察程序。 (由 可观测定义。
公共扩展方法 SubscribeOn<T>(控制) 重载。 (由 ControlObservable定义。
公共扩展方法 SubscribeOn<T>(Dispatcher) 重载。 (由 DispatcherObservable定义)
公共扩展方法 SubscribeOn<T>(DispatcherScheduler) 重载。 (由 DispatcherObservable定义)
公共扩展方法 SubscribeOn<T>(IScheduler) 重载。 在指定的计划程序上异步订阅和取消订阅观察程序。 (由 可观测定义。
公共扩展方法 SubscribeOnDispatcher<T> (由 DispatcherObservable定义)
公共扩展方法 同步<T>() 重载。 同步可观测序列。 (由 可观测定义。
公共扩展方法 同步<T>(对象) 重载。 同步可观测序列。 (由 可观测定义。
公共扩展方法 <T> 从可观测序列的开头返回指定数量的连续值。 (由 可观测定义。
公共扩展方法 TakeLast<T> 从可观测序列的末尾返回指定数量的连续元素。 (由 可观测定义。
公共扩展方法 TakeUntil<T、TOther> 返回源可观测序列中的值,直到其他可观测序列生成值。 (由 可观测定义。
公共扩展方法 TakeWhile<T>(Func<T, boolean>) 重载。 只要指定的条件为 true,即可返回可观察序列中的值,然后跳过其余值。 (由 可观测定义。
公共扩展方法 TakeWhile<T>(Func<T, Int32, boolean>) 重载。 只要指定的条件为 true,即可返回可观察序列中的值,然后跳过其余值。 (由 可观测定义。
公共扩展方法 然后<T、TResult> 当可观测序列具有可用值并投影该值时匹配。 (由 可观测定义。
公共扩展方法 限制<T>(TimeSpan) 重载。 忽略可观察序列中的值,这些值后跟另一个值,然后再使用指定的源和 dueTime。 (由 可观测定义。
公共扩展方法 限制<T>(TimeSpan, IScheduler) 重载。 忽略可观察序列中的值,这些值后跟另一个值,然后再使用指定的源、dueTime 和计划程序。 (由 可观测定义。
公共扩展方法 TimeInterval<T>() 重载。 记录具有指定源的可观察序列中的连续值之间的时间间隔。 (由 可观测定义。
公共扩展方法 TimeInterval<T>(IScheduler) 重载。 使用指定的源和计划程序记录可观测序列中的连续值之间的时间间隔。 (由 可观测定义。
公共扩展方法 超时<T>(TimeSpan) 重载。 如果 dueTime 已用,则返回可观察序列或 TimeoutException。 (由 可观测定义。
公共扩展方法 超时<T>(DateTimeOffset) 重载。 如果 dueTime 已用,则返回可观察序列或 TimeoutException。 (由 可观测定义。
公共扩展方法 超时<T>(TimeSpan, IObservable<T>) 重载。 如果 dueTime 已用,则返回源可观测序列或其他可观测序列。 (由 可观测定义。
公共扩展方法 超时<T>(DateTimeOffset, IObservable<T>) 重载。 如果 dueTime 已用,则返回可观察序列或 TimeoutException。 (由 可观测定义。
公共扩展方法 超时<T>(TimeSpan, IScheduler) 重载。 如果 dueTime 已用,则返回可观察序列或 TimeoutException。 (由 可观测定义。
公共扩展方法 超时<T>(DateTimeOffset, IScheduler) 重载。 如果 dueTime 已用,则返回可观察序列或 TimeoutException。 (由 可观测定义。
公共扩展方法 超时<T>(TimeSpan、IObservable<T>、IScheduler) 重载。 如果 dueTime 已用,则返回源可观测序列或其他可观测序列。 (由 可观测定义。
公共扩展方法 超时<T>(DateTimeOffset、IObservable<T>、IScheduler) 重载。 如果 dueTime 已用,则返回源可观测序列或其他可观测序列。 (由 可观测定义。
公共扩展方法 时间戳<T>() 重载。 使用指定的源记录可观测序列中每个值的时间戳。 (由 可观测定义。
公共扩展方法 时间戳<T>(IScheduler) 重载。 使用指定的源和计划程序记录可观测序列中每个值的时间戳。 (由 可观测定义。
公共扩展方法 ToArray<T> 从可观测序列创建数组。 (由 可观测定义。
公共扩展方法 ToDictionary<T、TKey>(Func<T、TKey>) 重载。 根据指定的键选择器函数根据可观察序列创建字典。 (由 可观测定义。
公共扩展方法 ToDictionary<T、TKey>(Func<T、TKey>、IEqualityComparer<TKey>) 重载。 根据指定的键选择器函数和比较器根据可观察序列创建字典。 (由 可观测定义。
公共扩展方法 ToDictionary<T、TKey、TElement>(Func<T、TKey>、Func<T、TElement>) 重载。 根据指定的键选择器函数和元素选择器函数,根据可观察序列创建字典。 (由 可观测定义。
公共扩展方法 ToDictionary<T、TKey、TElement>(Func<T、TKey>、Func<T、TElement>、IEqualityComparer<TKey>) 重载。 根据指定的键选择器函数、比较器和元素选择器函数,根据可观察序列创建字典。 (由 可观测定义。
公共扩展方法 ToEnumerable<T> 将可观测序列转换为可枚举序列。 (由 可观测定义。
公共扩展方法 ToEvent<T> 将可观测序列公开为具有指定源的 .NET 事件的对象。 (由 可观测定义。
公共扩展方法 ToList<T> 从可观测序列创建列表。 (由 可观测定义。
公共扩展方法 ToLookup<T、TKey>(Func<T、TKey>) 重载。 根据指定的键选择器函数根据可观察序列创建查找。 (由 可观测定义。
公共扩展方法 ToLookup<T、TKey>(Func<T、TKey>、IEqualityComparer<TKey>) 重载。 根据指定的键选择器函数和比较器根据可观察序列创建查找。 (由 可观测定义。
公共扩展方法 ToLookup<T、TKey、TElement>(Func<T、TKey>、Func<T、TElement>) 重载。 根据指定的键选择器函数和元素选择器函数,根据可观察序列创建查找。 (由 可观测定义。
公共扩展方法 ToLookup<T、TKey、TElement>(Func<T、TKey>、Func<T、TElement>、IEqualityComparer<TKey>) 重载。 根据指定的键选择器函数、比较器和元素选择器函数,根据可观察序列创建查找。 (由 可观测定义。
公共扩展方法 ToNotifier<T> 从观察者创建通知回调。 (由 观察家定义。
公共扩展方法 ToTask<T>() 重载。 返回一个任务,该任务包含可观测序列的最后一个值。 (由 taskObservableExtensions定义)
公共扩展方法 ToTask<T>(对象) 重载。 返回一个任务,该任务包含可观测序列的最后一个值。 (由 taskObservableExtensions定义)
公共扩展方法 ToTask<T>(CancellationToken) 重载。 返回一个任务,该任务包含可观测序列的最后一个值。 (由 taskObservableExtensions定义)
公共扩展方法 ToTask<T>(CancellationToken, Object) 重载。 返回一个任务,该任务包含可观测序列的最后一个值。 (由 taskObservableExtensions定义)
公共扩展方法 <T>(Func<T, boolean>) 重载。 基于谓词筛选可观测序列的元素。 (由 可观测定义。
公共扩展方法 <T>(Func<T, Int32, boolean>) 重载。 通过合并元素的索引来基于谓词筛选可观测序列的元素。 (由 可观测定义。
公共扩展方法 窗口<T>(Int32) 重载。 将可观测序列的每个元素投影到基于元素计数信息生成的连续非重叠窗口。 (由 可观测定义。
公共扩展方法 窗口<T>(TimeSpan) 重载。 将可观测序列的每个元素投影到基于计时信息生成的连续非重叠窗口。 (由 可观测定义。
公共扩展方法 窗口<T>(Int32, Int32) 重载。 将可观测序列的每个元素投影到零个或多个基于元素计数信息生成的窗口。 (由 可观测定义。
公共扩展方法 窗口<T>(TimeSpan, IScheduler) 重载。 将可观测序列的每个元素投影到基于计时信息生成的连续非重叠窗口。 (由 可观测定义。
公共扩展方法 窗口<T>(TimeSpan, TimeSpan) 重载。 将可观测序列的每个元素投影到零个或多个基于计时信息生成的窗口。 (由 可观测定义。
公共扩展方法 窗口<T>(TimeSpan, Int32) 重载。 将可观察序列的每个元素投影到一个窗口,当它已满或给定的时间已过时完成。 (由 可观测定义。
公共扩展方法 窗口<T>(TimeSpan、TimeSpan、IScheduler) 重载。 将可观测序列的每个元素投影到零个或多个基于计时信息生成的窗口。 (由 可观测定义。
公共扩展方法 窗口<T>(TimeSpan、Int32、IScheduler) 重载。 将可观察序列的每个元素投影到一个窗口,当它已满或给定的时间已过时完成。 (由 可观测定义。
公共扩展方法 窗口<T、TWindowClosing>(Func<IObservable<TWindowClosing>>) 重载。 将可观测序列的每个元素投影到连续的非重叠窗口。 (由 可观测定义。
公共扩展方法 窗口<T、TWindowOpening、TWindowClosing>(IObservable<TWindowOpening>、Func<TWindowOpening、IObservable<TWindowClosing>>) 重载。 将可观测序列的每个元素投影到零个或多个窗口。 (由 可观测定义。
公共扩展方法 Zip<T、TSecond、TResult>(IObservable<TSecond>、Func<T、TSecond、TResult>) 重载。 通过将两个可观测序列合并成一个可观察序列,以成对方式组合其元素。 (由 可观测定义。
公共扩展方法 Zip<T、TSecond、TResult>(IEnumerable<TSecond>、Func<T、TSecond、TResult>) 重载。 使用选择器函数将可观测序列和可枚举序列合并到一个可观测序列中。 (由 可观测定义。

返回页首

言论

当观察程序接口收到完成时,AsyncSubject 将发布其观察程序接口收到的最终项。 AsyncSubject 还会将任何将来订阅的最终项缓存到其可观察接口。 因此,针对该 AsyncSubject 的新订阅也将具有发布到该订阅的最终项。

例子

在此示例中,AsyncSubject 用于订阅使用 Range 运算符生成的整数序列。 AsyncSubject 仅在订阅其完成的序列时返回一个值。 序列完成后,AsyncSubject 将发布序列中的最终项。 AsyncSubject 缓存最终项。 针对该 AsyncSubject 的任何新订阅也将具有发布到该订阅的最终项。

using System;
using System.Reactive.Linq;
using System.Reactive.Subjects;
using System.Reactive.Concurrency;
using System.Threading;

namespace Example
{
  class Program
  {
    static void Main()
    {
      //*******************************************************************************************************//
      //*** A subject acts similar to a proxy in that it acts as both a subscriber and a publisher          ***//
      //*** It's IObserver interface can be used to subscribe to multiple streams or sequences of data.     ***//
      //*** The data is then published through it's IObservable interface.                                  ***//
      //***                                                                                                 ***//
      //*** In this example an AsyncSubject is used to subscribe to an integer sequence from the Range      ***//
      //*** operator. An AsyncSubject only returns a value when the sequence it is subscribed to completes. ***//
      //*** Once the sequence has completed, the AsyncSubject will publish the final item in the sequence.  ***//
      //*** The AsyncSubject caches the final item. Any new subscriptions against that AsyncSubject will    ***//
      //*** also have the final item published to that subscription as well.                                ***//
      //*******************************************************************************************************//

      var intSequence = Observable.Range(0, 10, Scheduler.ThreadPool);

      AsyncSubject<int> myAsyncSubject = new AsyncSubject<int>();
      intSequence.Subscribe(myAsyncSubject);

      Thread.Sleep(1000);
      myAsyncSubject.Subscribe(i => Console.WriteLine("Final integer for subscription #1 is {0}\n", i),
                               () => Console.WriteLine("subscription #1 completed.\n"));
                                
      
      Console.WriteLine("Sleeping for 5 seconds before subscription2\n");
      Thread.Sleep(5000);

      myAsyncSubject.Subscribe(i => Console.WriteLine("Final integer for subscription #2 after 5 seconds is {0}\n", i),
                               () => Console.WriteLine("subscription #2 completed.\n"));


      Console.WriteLine("Press ENTER to exit...");
      Console.ReadLine();

      myAsyncSubject.Dispose();
    }
  }
}

示例代码生成了以下输出。

Final integer for subscription #1 is 9

subscription #1 completed.

Sleeping for 5 seconds before subscription2

Final integer for subscription #2 after 5 seconds is 9

subscription #2 completed.

Press ENTER to exit...

线程安全

此类型的任何公共静态(在 Visual Basic 中共享)成员都是线程安全的。 不保证任何实例成员都是线程安全的。

另请参阅

参考

System.Reactive.Subjects 命名空间