【发布时间】:2011-10-12 12:36:50
【问题描述】:
这是我尝试使用 Reactive Extensions 做的一个简单示例,但它不起作用
Add 在这个简单的例子中不起作用
public static void Main(string[] args)
{
var list = new List<int> { 1, 2, 3 };
var obs = list.ToObservable();
IDisposable subscription = obs.SubscribeOn(Scheduler.NewThread).Subscribe(p =>
{
Console.WriteLine(p.ToString());
Console.WriteLine(Add(obs).ToString());
},
err => Console.WriteLine("Error"),
() => Console.WriteLine("Sequence Completed")
);
Console.ReadLine();
subscription.Dispose();
}
private static int Add(IObservable<int> wholeList)
{
int sum = 0;
wholeList.ForEach(i => sum = sum + i);
return sum;
}
实际输出
1
_
期望的输出
1
6
2
6
3
6
Sequence Completed
_
即我想在每次迭代中执行一个方法 Add(obs),其中 obs 本身就是正在迭代的冷 IObservable?
【问题讨论】:
-
你很可能在这里做错了(tm)。你能描述一下你的场景以及你想要在更高层次上完成什么吗?
-
@Paul 请看我刚刚添加到 Enigmativity 的评论 ..
标签: c# iterator system.reactive