假设我们有一个类:
public class Foo { public string Do(int param) { } }
我想创建一个由Do方法生成的值的可观察值.一种方法是创建一个从Do调用的事件,并使用Observable.FromEvent创建observable.但不知何故,为了完成这项任务,我不会为创建事件感到好意.有没有更好的办法呢?
解决方法
马特的答案让我想到了:
public class Foo { private readonly Subject<string> _doValues = new Subject<string>(); public IObservable<string> DoValues { get { return _doValues; } } public string Do(int param) { var ret = (param * 2).ToString(); _doValues.OnNext(ret); return ret; } } var foo = new Foo(); foo.DoValues.Subscribe(Console.WriteLine); foo.Do(2);