1
當多次調用IConnectableObservable.Connect時,合同應該是什麼?針對多次調用的IConnectableObservable.Connect合同
如果返回的IDisposable被丟棄,應該發佈OnCompleted還是應該斷開連接並允許第二次調用Connect?
如果之前所述第一佈置的連接被稱爲第二時間,應該它:
- 擲
- 返回相同的IDisposable,可能具有的代碼
- 返回不同區域意想不到的處置一個新的IDisposable與某種配置引用計數,並導致問題與您稱爲配置仍然發佈值
我試圖執行IConnectableObservable和實現它的人的文檔非常輕。
總的來說,我發現將任何給定的實現信任爲接口應該如何實現的「正確」解釋是個壞主意,除非它被稱爲參考實現。即使在像Rx這樣的圖書館裏,執行實施的人可能與編寫界面的人不一樣,或者他們可能沒有想過具體細節,只是做了方便。在沒有其他文件的情況下,儘管我同意這可能是最好的參考。 –
@BryanAnderson我原則上同意,信任單一來源可能會有問題。在這種情況下,我會推斷更高的信心,因爲.Net *是Rx的參考實現,它是最老和最穩定的平臺。也就是說,至少有兩個其他實現,RxJS和RxJava(也意味着RxScala)使用相同的語義。我可以補充一點,如果它會給你更高的答案信心。 – paulpdaniels
我在他們的GitHub項目中提出了一個問題,要求澄清。Rx庫自從創建它們之後,其接口和接口協議就發生了很多變化,所以我不太相信非官方的實現細節,因爲我會用BCL實現之一。如果週末沒有聽到任何消息,我會將你的回答標記爲已接受。 –