2016-11-12 3 views
0

私は観察可能なシーケンスに余分な "閉じる"項目を追加したいと思います。観察可能なシーケンスの最後にはStartWithのようなReactive LINQ拡張がありますか?それは最後の要素を発射していないようだが、ここでStartWithのような拡張子はありますが、観測可能なシーケンスの終わりはありますか?

は、私が何をしたいの近似である:

public static IObservable<TSource> EndWith<TSource>(this IObservable<TSource> source, TSource element) 
{ 
    return source.Concat(Observable.Return(element)); 
} 

答えて

5

あなたの「近似」は正解です。 Concatは、ソースストリームの終わりにelementを追加しますが、場合にのみ:あなたはそれを取得していない場合

  1. ソースは、おそらく

をエラーしないあなたのsourceストリームのISNを

  • ソースを完了します実際に終了していますか?

    あなたは私達にあなたのコードの多くを示した場合、それは良いかもしれないなど あなたのためにこれを行います「ボックスのうち」APIメソッド(StartsWithなど)はありませんが、Concat + Observable.Returnを使用してはかなりありますそれを自分で行う合理的な方法。

  • +0

    はい、あなたは正しいです。私は 'WithLatestFrom'を使用していたはずの場所で' CombineLatest'を使っていました。これは、私の観察が終わっていない微妙なバグにつながります。 – sdgfsdh

    関連する問題