<分区>
我需要使用推模型返回项目集合(与拉模型相反,如 IEnumerable)。但是,我不确定我是否应该使用响应式(Reactive)扩展中的 IObservable 或 TPL 数据流中的 ISourceBlock。
它们看起来很相似,在什么情况下应该选择一个而不是另一个?
<分区>
我需要使用推模型返回项目集合(与拉模型相反,如 IEnumerable)。但是,我不确定我是否应该使用响应式(Reactive)扩展中的 IObservable 或 TPL 数据流中的 ISourceBlock。
它们看起来很相似,在什么情况下应该选择一个而不是另一个?
最佳答案
基本上,我认为答案归结为您将如何使用这些结果。如果您想使用 TPL 数据流处理它们,请返回 ISourceBlock<T>
.如果您要使用 Rx 处理它们,请使用 IObservable<T>
.
不知道的话我觉得还是回ISourceBlock<T>
比较好,因为 it can be easily converted to IObservable<T>
.
关于c# - 何时使用 ISourceBlock 或 IObservable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14367718/
相关文章:
c# - 可观察流是否可以按时间戳进行分区,类似于 Buffer 或 Window?
c# - 检查是否使用 Moq 调用了 CancellationTokenSource.Cancel()
c# - 如何释放 Parallel.Task 使用的内存?
c# - 如何使用 Reactive Extensions 来限制 SearchPane.SuggestionsRequested?
c# - react 性扩展 : Concurrency within the subscriber
c# - 使用 Teststack.White 将文本写入 PasswordBox
c# - EF Core "Cannot insert explicit value for identity column"尽管 IDENTIY_INSERT 设置为 ON