1

監視可能なシーケンスに追加の「クロージング」アイテムを追加したいと考えています。StartWith監視可能なシーケンスの最後に似ている Reactive LINQ 拡張機能はありますか?

最後の要素を起動していないように見えますが、これは私が望むものの概算です:

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

2 に答える 2

5

あなたの「近似」は正しい答えです。Concatソース ストリームの末尾に追加elementされますが、次の場合に限ります。

  1. ソースが完成
  2. ソースはエラーではありません

おそらく、それが得られない場合、sourceストリームは実際には終了していませんか?

あなたのコードなどをもっと見せてくれたらもっといいかもしれません。これを行う「すぐに使える」API メソッド ( などStartsWith) はありませんが、Concat+を使用Observable.Returnすることは、自分で行うのにかなり合理的な方法です。

于 2016-11-12T21:19:18.617 に答える