【发布时间】:2011-02-03 15:17:53
【问题描述】:
我有这个代码:
var s1 = new Subject<Unit>();
var s2 = new Subject<Unit>();
var ss = s1.Merge(s2).Finally(() => Console.WriteLine("Finished!"));
ss.Subscribe(_ => Console.WriteLine("Next"));
s1.OnNext(new Unit());
s2.OnNext(new Unit());
s1.OnCompleted(); // I wish ss finished here.
s2.OnCompleted(); // Yet it does so here. =(
我已经使用 OnError(new OperationCanceledException()) 解决了我的问题,但我想要一个更好的解决方案(必须有一个组合器对吗?)。
【问题讨论】:
-
很遗憾没有内置操作符,所以我写了一些扩展方法来解决这个问题。
标签: c# system.reactive combinators