这些天我一直在尝试用Rx
编程。
现在,每次我开始使用它进行编程时,我都会提出一个问题,即我真的需要像System.Reactive.*
程序集这样的外部 SDK 库吗?无论何时,我想使用 Rx
进行编程,我必须使用可观察的:IObservable
、IObserver
等,但这些已经在mscorlib
程序集中可用。
那么我为什么要下载这些反应式程序集并在那里添加引用呢?
正如 Lee 所说,基类库仅包含核心接口 IObserver<T>
和 IObservable<T>
。BCL 中没有其他 Rx 的内容。
要对它们做任何有用的事情,你应该真正利用反应式扩展库(通常通过包含 nuget 包rx-main
)。
虽然没有什么能阻止你制作自己的实现,但在一个好的实现中有很多非常微妙的地方,我认为当反应式扩展做得如此出色时,你会疯狂地这样做。