【发布时间】:2018-09-05 18:49:39
【问题描述】:
我开始使用 Reactive Extensions 将我的 push -> pull 桥转变为更简单的结构。
所以现在我有一个带有(私人)事件的类,并从中创建了一个 Observable。
class WithEvents {
public class MyEvent {}
private delegate void MyEventHandler(MyEvent e);
private event MyEventHandler EventRaised;
Public IObservable<MyEvent> TheEvents;
public void Foo() {
EventRaised(new MyEvent());
}
}
问题是,这个事件在这里看起来像是不需要的脚手架。所以我想知道:有没有办法构建一个“裸”的 Observable,我可以将事件“推送”到?
class WithChannel {
public class MyEvent {}
public IObservable<MyEvent> EventRaised {get} = new Channel<MyEvent>();
public void Foo() {
((Channel)EventRaised).DoNext(new MyEvent());
}
}
【问题讨论】:
标签: c# events system.reactive channels