複数回呼び出されたときにIConnectableObservable.Connectの契約とは何ですか?複数の呼び出しに関するIConnectableObservable.Connectの契約
返されたIDisposableは、OnCompletedを公開するか、接続を切断してConnectをもう一度呼び出すことを許可する必要がありますか?
第が廃棄される前に接続が、それは、第二の時間べきで呼び出された場合:
- スロー
- おそらくコード
- リターンの異なる領域からの予期しない処分を有する戻り同じIDisposableを、何らかの種類のDispose参照カウントを持つ新しいIDisposableと呼び出し元の問題を引き起こします。まだ公開値を廃棄します。
私は実装しようとしていますIConnectableObservableとそれを実装する人々のためのドキュメントは本当に軽いです。
一般的に、私は、実装が参照実装として呼び出されていない限り、実装がどのように実装されるべきかを "正しい"解釈とみなすのは悪い考えです。 Rxのような図書館でさえ、実装を行う人は、インターフェースを書いた人と同じでないかもしれませんし、具体的なことを考えずに便利なことをしただけかもしれません。他のドキュメンテーションがなければ、私はそれがおそらく最高のリファレンスであることに同意します。 –
@BryanAnderson私は原則として、単一の情報源を信頼することは問題になる可能性があることに同意します。この場合、.Net *はRxのリファレンス実装であるため、より高いレベルの信頼性を推測します。これは最も古い、最も安定したプラットフォームです。つまり、RxJSとRxJava(これはRxScalaを意味する)の少なくとも2つの実装は、同じセマンティクスを使用しています。私はそれがあなたに答えのより高い信頼を与えるなら、上記を加えることができます。 – paulpdaniels
私はGitHubプロジェクトで問題を明らかにしました。Rxライブラリはインターフェイスを持っていて、インターフェイス契約は作成されてからかなり変化していますので、BCL実装のように非公式な実装の詳細については信頼できません。週末までに何も聞いていないと、私はあなたに答えているとマークします。 –