クラスMyClassがあるとします。Reactive Extensionsを使って独立して購読/発行することはできますか?
はこの二行目は、すべてのメソッドをトリガーObservable.Publish(instanceOfMyClass);
:私はこのような何かを持っている
Observable.Subscribe<MyClass>(myClass => DoSomething(myClass));
その後別の場所(ファイル/プロジェクト/時間)で:自分のコードの一部では、私はこのような何かをしたいですその正確なクラスタイプで購読されていました。 Reactive Extensions(v1またはv2)がサポートしているのですか?
サブスクリプション呼び出しの一部としてSynchronizationContextを指定すると便利です。メソッドがWeakReferenceで保持されるべきかどうかを指定するのも良いでしょう。そして、Publishメソッドは、すべてを同期して実行するか、私が待つことができる何かを与える能力を持っている必要があります。
私に説明してください "OnNext"?それは複数の加入者を引き起こすでしょうか? "d"を範囲外にするとどうなりますか?ガベージコレクタが 'ラウンドするかどうか」が出ると処分されますか? – Brannon
'OnNext'を呼び出すと、それ自身の観測可能なシーケンスの次の値が与えられ、この値はそのサブジェクトの任意の加入者に送信されます。 'd'を範囲外にしても何も起こりません。 GCは変数を収集しますが、決して「Dispose」を呼び出すことはありませんので、サブスクリプションをキャンセルしません。 'Dispose'を呼び出すことは、常にプログラマの責任です。 Rxの場合、早期に、つまりOnCompletedまたはOnErrorが自然に呼び出される前に、サブスクリプションをキャンセルする場合にのみ、Disposeを呼び出します。 – Enigmativity