0
public class Foo
{
    private ReplaySubject<bool> whenBarChanged = new ReplaySubject<bool>();
    public IObservable<bool> WhenBarChanged
    {
        get { return whenBarChanged; }
    }
}

このコードは、IObservable のインターフェイスを公開しています。サブジェクトの動作を公開する唯一の方法は、ドキュメントを使用することです。

Observer 部分を公開せずに Subject の Observable 部分を公開する他の方法が機能していることを知っていますか?

4

2 に答える 2

2

AsObservableを使用して、オブザーバブルの ID を隠すことができます。

public class Foo
{
    private ReplaySubject<bool> whenBarChanged = new ReplaySubject<bool>();
    public IObservable<bool> WhenBarChanged
    {
        get { return whenBarChanged.AsObservable(); }
    }
}
于 2013-06-23T20:47:38.900 に答える