【发布时间】:2010-08-25 14:43:28
【问题描述】:
我在最后一个示例中使用了 101 个 Rx Framework (http://rxwiki.wikidot.com/101samples#toc47) 示例,并创建了一个如下所示的类,并在测试函数中使用了类似的用法。
private void Test()
{
var order = new Order();
order.ObservableOrder.Subscribe(
ord => Console.WriteLine("Order progress "), // subscribe to onnext event
ex => Console.WriteLine("Paid error " + ex.Message), // subscribe to error event
() => Console.WriteLine("Paid oncompleted ") // subscribe to completed event
); // Subscribe
order.Start();
}
public class Order
{
private readonly Subject<Order> _subject = new Subject<Order>();
public IObservable<Order> ObservableOrder { get { return _subject.AsObservable(); } }
public void RaiseError() {
_subject.OnError(new Exception("test exception"));
}
public void RaiseCompleted() {
_subject.OnCompleted();
}
public void RaiseProgress() {
_subject.OnNext(this);
}
public void Start() {
for (int i = 0; i < 5; i++)
this.RaiseProgress();
this.RaiseError(); // either error is raised
this.RaiseCompleted(); // or completed is raised
}
}
我的要求是如何编写一个基类(或某种工厂)来 使其易于用于 20-30 个做类似事情的类(就像他们需要 发送进度,完成和错误事件)另外,我怎样才能将一些数据发送回 关于进度和 oncompleted 事件(比如我们将异常发送到 onerror 事件)
【问题讨论】:
标签: c#-4.0 factory system.reactive