次の方法で共有


ISubject<TSource、TResult> インターフェイス

観測可能なシーケンスとオブザーバーの両方であるオブジェクトを表します。

名前空間:System.Reactive.Subjects
アセンブリ: System.Reactive (System.Reactive.dll内)

構文

'Declaration
Public Interface ISubject(Of In TSource, Out TResult) _
    Inherits IObserver(Of TSource), IObservable(Of TResult)
'Usage
Dim instance As ISubject(Of In TSource, Out TResult)
public interface ISubject<in TSource, out TResult> : IObserver<TSource>, 
    IObservable<TResult>
generic<typename TSource, typename TResult>
public interface class ISubject : IObserver<TSource>, 
    IObservable<TResult>
type ISubject<'TSource, 'TResult> =  
    interface
        interface IObserver<'TSource>
        interface IObservable<'TResult>
    end
JScript does not support generic types and methods.

型パラメーター

  • inTSource
    ソースの種類。

    この型パラメーターは反変です。 つまり、指定した型または派生が少ない任意の型を使用できます。 共変性と反変性の詳細については、を参照してください。

  • outTResult
    結果の型。

    この型パラメーターは共変です。 つまり、指定した型またはより派生した任意の型を使用できます。 共変性と反変性の詳細については、を参照してください。

ISubject<TSource、TResult> 型は、次のメンバーを公開します。

メソッド

  名前 形容
Public メソッド OnCompleted (IObserver<TSource>から継承されます)。
Public メソッド OnError (IObserver<TSource>から継承されます)。
Public メソッド OnNext (IObserver<TSource>から継承されます)。
Public メソッド サブスクライブ (IObservable<TResult>から継承されます)。

ページのトップへ

拡張メソッド

  名前 形容
パブリック拡張メソッドパブリック拡張メソッド Aggregate<TResult>(Func<TResult、TResult、TResult>) オーバー ロード。 観測可能なシーケンスにアキュムレータ関数を適用します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Aggregate<TResult、TAccumulate>(TAccumulate、Func<TAccumulate、TResult、TAccumulate>) オーバー ロード。 指定したシード値を持つ観測可能なシーケンスにアキュムレータ関数を適用します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド すべてのTResultする 監視可能なシーケンスのすべての要素が条件を満たすかどうかを判断します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Amb<TResult> 指定した 1 番目と 2 番目のシーケンスと最初に反応する監視可能なシーケンスを伝達します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド TResult、TRight 両方の監視可能なシーケンスに使用可能な値がある場合に一致します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド 任意のTResult() を する オーバー ロード。 監視可能なシーケンスに要素が含まれているかどうかを判断します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド 任意の<TResult>(Func<TResult、Boolean>) を オーバー ロード。 監視可能なシーケンスのすべての要素が条件を満たすかどうかを判断します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド AsObservable<TResult> 監視可能なシーケンスの ID を非表示にします。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド AsObserver<TSource> オブザーバーの ID を非表示にします。 (オブザーバーによって定義
パブリック拡張メソッドパブリック拡張メソッド AsQbservable<TResult> 監視可能なシーケンスをクエリ可能な監視可能なシーケンスに変換します。 (Qbservableによって定義
パブリック拡張メソッドパブリック拡張メソッド AssertEqual<TResult> (Extensionsによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド バッファー<TResult>(Int32) オーバー ロード。 監視可能シーケンスの各要素を、要素数情報に基づいて生成される連続する重複しないバッファーに示します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド バッファー<TResult>(TimeSpan) オーバー ロード。 監視可能シーケンスの各要素を、タイミング情報に基づいて生成される連続する重複しないバッファーに示します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド バッファー<TResult>(Int32、Int32) オーバー ロード。 監視可能シーケンスの各要素を、要素数情報に基づいて生成される 0 個以上のバッファーに示します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド バッファー<TResult>(TimeSpan、IScheduler) オーバー ロード。 監視可能シーケンスの各要素を、タイミング情報に基づいて生成される連続する重複しないバッファーに示します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド バッファー<TResult>(TimeSpan、TimeSpan) オーバー ロード。 監視可能シーケンスの各要素を、タイミング情報に基づいて生成される 0 個以上のバッファーに示します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド バッファー<TResult>(TimeSpan、Int32) オーバー ロード。 監視可能なシーケンスの各要素をバッファーに示します。バッファーが満杯になった場合、または特定の時間が経過したときに送信されます。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Buffer<TResult>(TimeSpan、TimeSpan、IScheduler) オーバー ロード。 監視可能シーケンスの各要素を、タイミング情報に基づいて生成される 0 個以上のバッファーに示します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Buffer<TResult>(TimeSpan、Int32、IScheduler) オーバー ロード。 監視可能なシーケンスの各要素をバッファーに示します。バッファーが満杯になった場合、または特定の時間が経過したときに送信されます。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Buffer<TResult、TBufferClosing>(Func<IObservable<TBufferClosing>>) オーバー ロード。 観測可能なシーケンスの各要素を連続する重複しないバッファーに示します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Buffer<TResult、TBufferOpening、TBufferClosing>(IObservable<TBufferOpening>, Func<TBufferOpening, IObservable<TBufferClosing>>) オーバー ロード。 クエリ可能な監視可能シーケンスの各要素を連続する重複しないバッファーに示します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド <TResult>(IObservable<TResult>) をキャッチする オーバー ロード。 次の監視可能なシーケンスで例外によって終了される監視可能なシーケンスを続行します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Catch<TResult、TException>(Func<TException、IObservable<TResult>>) オーバー ロード。 ハンドラーによって生成された監視可能なシーケンスを使用して、指定した型の例外によって終了される監視可能なシーケンスを続行します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド CombineLatest<TResult、TSecond、TResult> 観測可能なシーケンスの 1 つが要素を生成するたびにセレクター関数を使用して、2 つの観測可能なシーケンスを 1 つの監視可能なシーケンスにマージします。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Concat<TResult> 2 つの観測可能なシーケンスを連結します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド TResult>(TResult)<含 オーバー ロード。 既定の等値比較子を使用して、監視可能なシーケンスに指定された要素が含まれているかどうかを判断します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド TResult>(TResult、IEqualityComparer<TResult>)<含 オーバー ロード。 指定した System.Collections.Generic.IEqualityComparer< を使用して、監視可能なシーケンスに指定した要素が含まれているかどうかを判断します。T>。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド TResult><カウント 監視可能なシーケンス内の要素の合計数を表す Int32 を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド DefaultIfEmpty<TResult>() オーバー ロード。 シーケンスが空の場合は、指定したシーケンスの要素、またはシングルトン シーケンス内の型パラメーターの既定値を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド DefaultIfEmpty<TResult>(TResult) オーバー ロード。 シーケンスが空の場合は、指定したシーケンスの要素、またはシングルトン シーケンス内の型パラメーターの既定値を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド TResult>(TimeSpan)<遅延 オーバー ロード。 指定したソースと dueTime の期限別に監視可能なシーケンスを示します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド 遅延<TResult>(DateTimeOffset) オーバー ロード。 指定したソースと dueTime の期限別に監視可能なシーケンスを示します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Delay<TResult>(TimeSpan、IScheduler) オーバー ロード。 指定したソース、dueTime、スケジューラを使用して、期限別に監視可能なシーケンスを示します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Delay<TResult>(DateTimeOffset, IScheduler) オーバー ロード。 指定したソース、dueTime、スケジューラを使用して、期限別に監視可能なシーケンスを示します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Distinct<TResult>() オーバー ロード。 指定したソースを持つ個別の要素のみを含む監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Distinct<TResult>(IEqualityComparer<TResult>) オーバー ロード。 比較子に従って個別の要素のみを含む監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Distinct<TResult、TKey>(Func<TResult、TKey>) オーバー ロード。 keySelector に従って個別の要素のみを含む監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Distinct<TResult、TKey>(Func<TResult、TKey>、IEqualityComparer<TKey>) オーバー ロード。 keySelector に従って個別の要素のみを含む監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド DistinctUntilChanged<TResult>() オーバー ロード。 指定したソースを持つ個別の連続する要素のみを含む監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド DistinctUntilChanged<TResult>(IEqualityComparer<TResult>) オーバー ロード。 比較子に従って個別の連続する要素のみを含む監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド DistinctUntilChanged<TResult、TKey>(Func<TResult、TKey>) オーバー ロード。 keySelector に従って、個別の連続する要素のみを含む監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド DistinctUntilChanged<TResult、TKey>(Func<TResult、TKey>、IEqualityComparer<TKey>) オーバー ロード。 keySelector と比較子に従って、個別の連続する要素のみを含む監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Do do<TResult>(Action<TResult>) オーバー ロード。 監視可能なシーケンス内の各要素に対してアクションを呼び出します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Do do<TResult>(IObserver<TResult>) オーバー ロード。 監視可能シーケンス内の各要素に対してアクションを呼び出し、監視可能シーケンスの例外的な終了時にアクションを呼び出します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Do do<TResult>(Action<TResult>, Action) オーバー ロード。 監視可能シーケンス内の各要素に対してアクションを呼び出し、監視可能シーケンスの正常終了時にアクションを呼び出します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Do do<TResult>(Action<TResult>, Action<Exception>) オーバー ロード。 監視可能シーケンス内の各要素に対してアクションを呼び出し、監視可能シーケンスの例外的な終了時にアクションを呼び出します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Do do<TResult>(Action<TResult>, Action<Exception>, Action) オーバー ロード。 監視可能なシーケンス内の各要素に対してアクションを呼び出し、監視可能なシーケンスの正常または例外的な終了時にアクションを呼び出します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ElementAt<TResult> シーケンス内の指定したインデックス位置にある要素を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ElementAtOrDefault<TResult> シーケンス内の指定したインデックス位置にある要素を返します。インデックスが範囲外の場合は既定値を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド 最後に TResult> を<する ソース監視可能シーケンスが正常に終了した後、または例外によって終了した後に、指定されたアクションを呼び出します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド First<TResult>() オーバー ロード。 指定したソースを持つ監視可能なシーケンスの最初の要素を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド First<TResult>(Func<TResult, Boolean>) オーバー ロード。 述語に一致する監視可能なシーケンスの最初の要素を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド FirstOrDefault<TResult>() オーバー ロード。 監視可能なシーケンスの最初の要素を返します。値が見つからない場合は既定値を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド FirstOrDefault<TResult>(Func<TResult, Boolean>) オーバー ロード。 述語に一致する監視可能なシーケンスの最初の要素を返します。値が見つからない場合は既定値を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Foo<TResult、R> (myExtによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ForEach<TResult> 監視可能なシーケンス内の各要素に対してアクションを呼び出し、シーケンスが終了するまでブロックします。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド GetEnumerator<TResult> 監視可能なシーケンスのすべての値を列挙する列挙子を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド GroupBy<TResult、TKey>(Func<TResult、TKey>) オーバー ロード。 指定したキー セレクター関数に従って、監視可能なシーケンスの要素をグループ化します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド GroupBy<TResult、TKey>(Func<TResult、TKey>、IEqualityComparer<TKey>) オーバー ロード。 指定したキー セレクター関数と比較子に従って、監視可能なシーケンスの要素をグループ化します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド GroupBy<TResult、TKey、TElement>(Func<TResult、TKey>、Func<TResult、TElement>) オーバー ロード。 監視可能なシーケンスの要素をグループ化し、指定した関数を使用して結果の要素を選択します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド GroupBy<TResult、TKey、TElement>(Func<TResult、TKey>、Func<TResult、TElement>、IEqualityComparer<TKey>) オーバー ロード。 指定したキー セレクター関数と比較子に従って監視可能なシーケンスの要素をグループ化し、指定した関数を使用して結果の要素を選択します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド GroupByUntil<TResult、TKey、TDuration>(Func<TResult、TKey>、Func<IGroupedObservable<TKey、TResult>、IObservable<TDuration>>) オーバー ロード。 指定したキー セレクター関数に従って、監視可能なシーケンスの要素をグループ化します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド GroupByUntil<TResult,TKey, TDuration>(Func<TResult, TKey>, Func<IGroupedObservable<TKey, TResult>, IObservable<TDuration>>, IEqualityComparer<TKey>) オーバー ロード。 指定したキー セレクター関数と比較子に従って、監視可能なシーケンスの要素をグループ化します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド GroupByUntil<TResult, TKey、TElement、TDuration>(Func<TResult、TKey>、Func<TResult、TElement>、Func<IGroupedObservable<TKey、TElement>、IObservable<TDuration>>) オーバー ロード。 指定したキー セレクター関数に従って監視可能なシーケンスの要素をグループ化し、指定した関数を使用して結果の要素を選択します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド GroupByUntil<TResult、TKey、 TElement、TDuration>(Func<TResult、TKey>、Func<TResult、TElement>、Func<IGroupedObservable<TKey、TElement>、IObservable<TDuration>>、IEqualityComparer<TKey>) オーバー ロード。 指定したキー セレクター関数と比較子に従って監視可能なシーケンスの要素をグループ化し、指定した関数を使用して結果の要素を選択します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド GroupJoin<TResult、TRight、TLeftDuration、TRightDuration、TResult> 重複する期間に基づいて 2 つのシーケンスの要素を関連付け、結果をグループ化します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド IgnoreElements<TResult> 終了メッセージのみを残したまま、監視可能なシーケンス内のすべての値を無視します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド 結合<TResult、TRight、TLeftDuration、TRightDuration、TResult> 重複する期間に基づいて、2 つのシーケンスの要素を関連付けます。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Last<TResult>() オーバー ロード。 指定したソースを持つ監視可能なシーケンスの最後の要素を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Last<TResult>(Func<TResult, Boolean>) オーバー ロード。 述語に一致する監視可能なシーケンスの最後の要素を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド LastOrDefault<TResult>() オーバー ロード。 監視可能なシーケンス内の最後の要素を返します。値が見つからない場合は既定値を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド LastOrDefault<TResult>(Func<TResult, Boolean>) オーバー ロード。 述語に一致する監視可能なシーケンスの最後の要素を返します。値が見つからない場合は既定値を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド 最新のTResultする 観測可能なシーケンスの最新の値をサンプリングします。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド LongCount<TResult> 監視可能なシーケンス内の要素の合計数を表す Int64 を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド TResult><具体化する 監視可能なシーケンスの暗黙的な通知を明示的な通知値として具体化します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド 最大<TResult>() オーバー ロード。 監視可能なシーケンス内の最大要素を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Max<TResult>(IComparer<TResult>) オーバー ロード。 指定した比較子に従って、監視可能なシーケンスの最大値を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド MaxBy<TResult、TKey>(Func<TResult、TKey>) オーバー ロード。 最大キー値を持つ監視可能なシーケンス内の要素を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド MaxBy<TResult、TKey>(Func<TResult、TKey>、IComparer<TKey>) オーバー ロード。 最大キー値を持つ監視可能なシーケンス内の要素を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Merge<TResult>(IObservable<TResult>) オーバー ロード。 監視可能なシーケンスの観測可能なシーケンスを監視可能なシーケンスにマージします。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Merge<TResult>(IObservable<TResult>, IScheduler) オーバー ロード。 2 つの観測可能なシーケンスを 1 つの監視可能なシーケンスにマージします。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Min<TResult>() オーバー ロード。 監視可能なシーケンス内の最小要素を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Min<TResult>(IComparer<TResult>) オーバー ロード。 指定した比較子に従って、監視可能なシーケンスの最小値を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド MinBy<TResult、TKey>(Func<TResult、TKey>) オーバー ロード。 最小キー値を持つ監視可能なシーケンス内の要素を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド MinBy<TResult、TKey>(Func<TResult、TKey>、IComparer<TKey>) オーバー ロード。 指定された比較子に従って、最小キー値を持つ監視可能なシーケンス内の要素を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド MostRecent<TResult> 観測可能なシーケンスの最新の値をサンプリングします。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド マルチキャスト<TResult、TResult>(ISubject<TResult、TResult>) オーバー ロード。 接続時にソース シーケンスが指定したサブジェクトに結果をプッシュする、接続可能な監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド マルチキャスト<TResult、TIntermediate、TResult>(Func<ISubject<TResult,TIntermediate>>, Func<IObservable<TIntermediate>, IObservable<TResult>>) オーバー ロード。 セレクター関数内でソース シーケンスをマルチキャストすることによって生成されたシーケンスの要素を含む監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド TResult次の 監視可能なシーケンス内から次の値 (バッファリングなしでブロック) をサンプリングします。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ObserveOn<TResult>(SynchronizationContext) オーバー ロード。 指定した同期コンテキストでオブザーバーに非同期的に通知します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ObserveOn<TResult>(コントロール) オーバー ロード。 (ControlObservableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ObserveOn<TResult>(Dispatcher) オーバー ロード。 (DispatcherObservableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ObserveOn<TResult>(DispatcherScheduler) オーバー ロード。 (DispatcherObservableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ObserveOn<TResult>(IScheduler) オーバー ロード。 指定したスケジューラでオブザーバーに非同期的に通知します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ObserveOnDispatcher<TResult> (DispatcherObservableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド OnErrorResumeNext<TResult> 正常に終了するか、次の監視可能なシーケンスで例外によって終了される監視可能なシーケンスを続行します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド <TResult>() を発行する オーバー ロード。 基になるシーケンスに 1 つのサブスクリプションを共有する、接続可能な監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド TResult>(TResult)<発行 オーバー ロード。 基になるシーケンスに 1 つのサブスクリプションを共有し、initialValue で始まる、接続可能な監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Publish<TResult, TResult>(Func<IObservable<TResult>, IObservable<TResult>>) オーバー ロード。 基になるシーケンスに 1 つのサブスクリプションを共有する接続可能な監視可能シーケンスでセレクターを呼び出した結果である監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Publish<TResult,TResult>(Func<IObservable<TResult>, IObservable<TResult>>, TResult) オーバー ロード。 基になるシーケンスに 1 つのサブスクリプションを共有し、initialValue で始まる、接続可能な監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド PublishLast<TResult>() オーバー ロード。 最後の通知のみを含む基になるシーケンスに 1 つのサブスクリプションを共有する、接続可能な監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド PublishLast<TResult, TResult>(Func<IObservable<TResult>, IObservable<TResult>>) オーバー ロード。 最後の通知のみを含む基になるシーケンスに対して 1 つのサブスクリプションを共有する、接続可能な監視可能なシーケンスでセレクターを呼び出した結果である監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド TResult()繰り返す オーバー ロード。 監視可能なシーケンスを無期限に繰り返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド TResult>(Int32)<繰り返 オーバー ロード。 監視可能なシーケンスを無期限に繰り返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド リプレイ<TResult>() オーバー ロード。 すべての通知を再生する基になるシーケンスに 1 つのサブスクリプションを共有する、接続可能な監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド <TResult>(TimeSpan) の再生 オーバー ロード。 ウィンドウ内のすべての通知を再生する基になるシーケンスに 1 つのサブスクリプションを共有する、接続可能な監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド リプレイ<TResult>(Int32) オーバー ロード。 bufferSize 通知を再生する基になるシーケンスに 1 つのサブスクリプションを共有する、接続可能な監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド リプレイ<TResult>(IScheduler) オーバー ロード。 すべての通知を再生する基になるシーケンスに 1 つのサブスクリプションを共有する、接続可能な監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド 再生<TResult>(TimeSpan、IScheduler) オーバー ロード。 ウィンドウ内のすべての通知を再生する基になるシーケンスに 1 つのサブスクリプションを共有する、接続可能な監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド リプレイ<TResult>(Int32、IScheduler) オーバー ロード。 bufferSize 通知を再生する基になるシーケンスに 1 つのサブスクリプションを共有する、接続可能な監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド 再生<TResult>(Int32、TimeSpan) オーバー ロード。 ウィンドウ内の bufferSize 通知を再生する基になるシーケンスに 1 つのサブスクリプションを共有する、接続可能な監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド <TResult>(Int32、TimeSpan、IScheduler) の再生 オーバー ロード。 ウィンドウ内の bufferSize 通知を再生する基になるシーケンスに 1 つのサブスクリプションを共有する、接続可能な監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド リプレイ<TResult、 TResult>(Func<IObservable<TResult>, IObservable<TResult>>) オーバー ロード。 基になるシーケンスに 1 つのサブスクリプションを共有し、初期値で始まる、接続可能な監視可能なシーケンスでセレクターを呼び出した結果である監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド リプレイ<TResult、TResult>(Func<IObservable<TResult>, IObservable<TResult>>, IScheduler) オーバー ロード。 すべての通知を再生する基になるシーケンスに 1 つのサブスクリプションを共有する、接続可能な監視可能なシーケンスでセレクターを呼び出した結果である監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド リプレイ<TResult、TResult>(Func<IObservable<TResult>、IObservable<TResult>>、TimeSpan) オーバー ロード。 ウィンドウ内のすべての通知を再生する基になるシーケンスに 1 つのサブスクリプションを共有する、接続可能な監視可能なシーケンスでセレクターを呼び出した結果である監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド リプレイ<TResult、TResult>(Func<IObservable<TResult>, IObservable<TResult>>, Int32) オーバー ロード。 bufferSize 通知を再生する基になるシーケンスに対して 1 つのサブスクリプションを共有する、接続可能な監視可能なシーケンスでセレクターを呼び出した結果である監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド リプレイ<TResult、 TResult>(Func<IObservable<TResult>, IObservable<TResult>>, TimeSpan, IScheduler) オーバー ロード。 ウィンドウ内のすべての通知を再生する基になるシーケンスに 1 つのサブスクリプションを共有する、接続可能な監視可能なシーケンスでセレクターを呼び出した結果である監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド リプレイ<TResult、TResult>(Func<IObservable<TResult>, IObservable<TResult>>, Int32, IScheduler) オーバー ロード。 bufferSize 通知を再生する基になるシーケンスに対して 1 つのサブスクリプションを共有する、接続可能な監視可能なシーケンスでセレクターを呼び出した結果である監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド リプレイ<TResult、TResult>(Func<IObservable<TResult>、IObservable<TResult>>、Int32、TimeSpan) オーバー ロード。 ウィンドウ内で bufferSize 通知を再生する基になるシーケンスに対して 1 つのサブスクリプションを共有する、接続可能な監視可能なシーケンスでセレクターを呼び出した結果である監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド リプレイ<TResult、TResult>(Func<IObservable<TResult>, IObservable<TResult>>, Int32, TimeSpan, IScheduler) オーバー ロード。 ウィンドウ内で bufferSize 通知を再生する基になるシーケンスに対して 1 つのサブスクリプションを共有する、接続可能な監視可能なシーケンスでセレクターを呼び出した結果である監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド TResult()再試行 オーバー ロード。 正常に終了するまで、ソース監視可能シーケンスを繰り返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド 再試行<TResult>(Int32) オーバー ロード。 正常に終了するまで、ソース監視可能シーケンスを繰り返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド サンプル<TResult>(TimeSpan) オーバー ロード。 各間隔で観測可能なシーケンスをサンプリングします。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド サンプル<TResult>(TimeSpan、IScheduler) オーバー ロード。 指定したソース、間隔、スケジューラを使用して、各間隔で監視可能なシーケンスをサンプリングします。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド サンプル<TResult、TSample>(IObservable<TSample>) オーバー ロード。 指定したソースとサンプラーを使用して、サンプリング ティックで監視可能なシーケンスをサンプリングします。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド スキャン<TResult>(Func<TResult、TResult、TResult>) オーバー ロード。 観測可能なシーケンスにアキュムレータ関数を適用し、指定されたソースとアキュムレータを使用して各中間結果を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド スキャン<TResult、TAccumulate>(TAccumulate、Func<TAccumulate、TResult、TAccumulate>) オーバー ロード。 観測可能なシーケンスにアキュムレータ関数を適用し、指定されたソース、シード、アキュムレータを使用して各中間結果を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド TResult、TResult<>(Func<TResult、TResult>) を選択 オーバー ロード。 監視可能なシーケンスの各要素を、指定されたソースとセレクターを使用して新しいフォームに投影します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド <TResult、TResult>(Func<TResult、Int32、TResult>) を選択 オーバー ロード。 指定したソースとセレクターを使用して要素のインデックスを組み込むことで、監視可能なシーケンスの各要素を新しいフォームに投影します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド SelectMany<TResult、TOther>(IObservable<TOther>) オーバー ロード。 観測可能シーケンスの各要素を監視可能なシーケンスに投影し、結果として得られる観測可能なシーケンスを 1 つの観測可能なシーケンスにフラット化します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド SelectMany<TResult、TResult>(Func<TResult、IObservable<TResult>>) オーバー ロード。 観測可能シーケンスの各要素を監視可能なシーケンスに投影し、結果として得られる観測可能なシーケンスを 1 つの観測可能なシーケンスにフラット化します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド SelectMany<TResult、TResult>(Func<TResult、IEnumerable<TResult>>) オーバー ロード。 観測可能シーケンスの各要素を監視可能なシーケンスに投影し、結果として得られる観測可能なシーケンスを 1 つの観測可能なシーケンスにフラット化します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド SelectMany<TResult, TResult>(Func<TResult, IObservable<TResult>>, Func<Exception, IObservable<TResult>>, Func<IObservable<TResult>>) オーバー ロード。 観測可能シーケンスの各要素を監視可能なシーケンスに投影し、結果として得られる観測可能なシーケンスを 1 つの観測可能なシーケンスにフラット化します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド SelectMany<TResult、TCollection、TResult>(Func<TResult、IEnumerable<TCollection>>、Func<TResult、TCollection、TResult>) オーバー ロード。 観測可能シーケンスの各要素を監視可能なシーケンスに投影し、結果として得られる観測可能なシーケンスを 1 つの観測可能なシーケンスにフラット化します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド SelectMany<TResult、TCollection、TResult>(Func<TResult、IObservable<TCollection>>、Func<TResult、TResult>) オーバー ロード。 観測可能シーケンスの各要素を監視可能なシーケンスに投影し、結果として得られる観測可能なシーケンスを 1 つの観測可能なシーケンスにフラット化します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド SequenceEqual<TResult>(IObservable<TResult>) オーバー ロード。 要素をペアで比較して、2 つのシーケンスが等しいかどうかを判断します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド SequenceEqual<TResult>(IObservable<TResult>, IEqualityComparer<TResult>) オーバー ロード。 指定した等値比較子を使用して要素をペアで比較することで、2 つのシーケンスが等しいかどうかを判断します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Single<TResult>() オーバー ロード。 監視可能なシーケンスの唯一の要素を返し、監視可能なシーケンスに要素が 1 つだけ存在しない場合は例外をスローします。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Single<TResult>(Func<TResult, Boolean>) オーバー ロード。 述語に一致する監視可能なシーケンスの唯一の要素を返し、監視可能なシーケンスに要素が 1 つだけ存在しない場合は例外をスローします。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド SingleOrDefault<TResult>() オーバー ロード。 監視可能シーケンスの唯一の要素を返します。監視可能なシーケンスが空の場合は既定値を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド SingleOrDefault<TResult>(Func<TResult, Boolean>) オーバー ロード。 述語と一致する監視可能なシーケンスの唯一の要素を返します。値が見つからない場合は既定値を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド TResult><スキップする 監視可能なシーケンス内の指定された数の値をバイパスし、残りの値を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド SkipLast<TResult> 観測可能なシーケンスの末尾にある指定された数の要素をバイパスします。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド SkipUntil<TResult、TOther> 他の監視可能なシーケンスが値を生成した後にのみ、ソース監視可能シーケンスから値を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド SkipWhile<TResult>(Func<TResult, Boolean>) オーバー ロード。 指定した条件が true である限り、監視可能なシーケンス内の値をバイパスし、残りの値を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド SkipWhile<TResult>(Func<TResult, Int32, Boolean>) オーバー ロード。 指定した条件が true である限り、監視可能なシーケンス内の値をバイパスし、残りの値を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド StartWith<TResult>TResult[]) オーバー ロード。 指定したソースと値を使用して、監視可能なシーケンスに値のシーケンスを付加します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド StartWith<TResult>(IScheduler, TResult[]) オーバー ロード。 指定したソース、スケジューラ、および値を使用して、監視可能なシーケンスの前に値のシーケンスを追加します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド <TResult>() をサブスクライブする オーバー ロード。 指定したソースで監視可能なシーケンスを評価します。 (ObservableExtensionsによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド <TResult>(アクション<TResult>) をサブスクライブ オーバー ロード。 監視可能なシーケンスに対して要素ハンドラーをサブスクライブします。 (ObservableExtensionsによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド サブスクライブ<TResult>(アクション<TResult>、 アクション<例外>) オーバー ロード。 要素ハンドラーと例外ハンドラーを監視可能なシーケンスにサブスクライブします。 (ObservableExtensionsによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド サブスクライブ<TResult>(Action<TResult>, Action) オーバー ロード。 要素ハンドラーと完了ハンドラーを監視可能なシーケンスにサブスクライブします。 (ObservableExtensionsによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド サブスクライブ<TResult>(Action<TResult>, Action<Exception>, Action) オーバー ロード。 要素ハンドラー、例外ハンドラー、および完了ハンドラーを監視可能なシーケンスにサブスクライブします。 (ObservableExtensionsによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド SubscribeOn<TResult>(SynchronizationContext) オーバー ロード。 指定した同期コンテキストでオブザーバーを非同期的にサブスクライブおよびサブスクライブ解除します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド SubscribeOn<TResult>(コントロール) オーバー ロード。 (ControlObservableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド SubscribeOn<TResult>(Dispatcher) オーバー ロード。 (DispatcherObservableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド SubscribeOn<TResult>(DispatcherScheduler) オーバー ロード。 (DispatcherObservableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド SubscribeOn<TResult>(IScheduler) オーバー ロード。 指定したスケジューラでオブザーバーを非同期的にサブスクライブおよびサブスクライブ解除します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド SubscribeOnDispatcher<TResult> (DispatcherObservableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド <TResult>() を同期する オーバー ロード。 監視可能なシーケンスを同期します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド <TResult>(オブジェクト) を同期する オーバー ロード。 監視可能なシーケンスを同期します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド TResult><取る 監視可能なシーケンスの先頭から、指定した数の連続した値を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド TakeLast<TResult> 観測可能なシーケンスの末尾から、指定した数の連続する要素を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド TakeUntil<TResult、TOther> 他の監視可能なシーケンスが値を生成するまで、ソース監視可能シーケンスから値を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド TakeWhile<TResult>(Func<TResult, Boolean>) オーバー ロード。 指定した条件が true である限り、監視可能なシーケンスから値を返し、残りの値をスキップします。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド TakeWhile<TResult>(Func<TResult, Int32, Boolean>) オーバー ロード。 指定した条件が true である限り、監視可能なシーケンスから値を返し、残りの値をスキップします。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド TResult、TResult> を<します 監視可能なシーケンスに使用可能な値がある場合に一致し、値を投影します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド スロットル<TResult>(TimeSpan) オーバー ロード。 指定した source と dueTime の期限前に別の値が続く、監視可能なシーケンスの値を無視します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド スロットル<TResult>(TimeSpan、IScheduler) オーバー ロード。 指定したソース、dueTime、スケジューラで期限前に別の値が続く監視可能なシーケンスの値を無視します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド TimeInterval<TResult>() オーバー ロード。 指定したソースを使用して、監視可能なシーケンス内の連続する値間の時間間隔を記録します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド TimeInterval<TResult>(IScheduler) オーバー ロード。 指定したソースとスケジューラを使用して、監視可能なシーケンス内の連続する値間の時間間隔を記録します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド タイムアウト<TResult>(TimeSpan) オーバー ロード。 dueTime が経過した場合は、監視可能なシーケンスまたは TimeoutException のいずれかを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド タイムアウト<TResult>(DateTimeOffset) オーバー ロード。 dueTime が経過した場合は、監視可能なシーケンスまたは TimeoutException を返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド タイムアウト<TResult>(TimeSpan、IObservable<TResult>) オーバー ロード。 dueTime が経過した場合は、ソース監視可能シーケンスまたはその他の監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド タイムアウト<TResult>(DateTimeOffset、IObservable<TResult>) オーバー ロード。 dueTime が経過した場合は、監視可能なシーケンスまたは TimeoutException のいずれかを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド タイムアウト<TResult>(TimeSpan、IScheduler) オーバー ロード。 dueTime が経過した場合は、監視可能なシーケンスまたは TimeoutException のいずれかを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド タイムアウト<TResult>(DateTimeOffset,IScheduler) オーバー ロード。 dueTime が経過した場合は、監視可能なシーケンスまたは TimeoutException のいずれかを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド タイムアウト<TResult>(TimeSpan、IObservable<TResult>、IScheduler) オーバー ロード。 dueTime が経過した場合は、ソース監視可能シーケンスまたはその他の監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド タイムアウト<TResult>(DateTimeOffset、IObservable<TResult>、IScheduler) オーバー ロード。 dueTime が経過した場合は、ソース監視可能シーケンスまたはその他の監視可能なシーケンスを返します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Timestamp<TResult>() オーバー ロード。 指定されたソースを持つ監視可能なシーケンス内の各値のタイムスタンプを記録します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Timestamp<TResult>(IScheduler) オーバー ロード。 指定したソースとスケジューラを使用して、監視可能なシーケンス内の各値のタイムスタンプを記録します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ToArray<TResult> 監視可能なシーケンスから配列を作成します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ToDictionary<TResult、TKey>(Func<TResult、TKey>) オーバー ロード。 指定したキー セレクター関数に従って、監視可能なシーケンスからディクショナリを作成します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ToDictionary<TResult、TKey>(Func<TResult、TKey>、IEqualityComparer<TKey>) オーバー ロード。 指定したキー セレクター関数と比較子に従って、監視可能なシーケンスからディクショナリを作成します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ToDictionary<TResult、TKey、TElement>(Func<TResult、TKey>、Func<TResult、TElement>) オーバー ロード。 指定したキー セレクター関数と要素セレクター関数に従って、監視可能なシーケンスからディクショナリを作成します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ToDictionary<TResult、TKey、TElement>(Func<TResult、TKey>、Func<TResult、TElement>、IEqualityComparer<TKey>) オーバー ロード。 指定したキー セレクター関数、比較子、および要素セレクター関数に従って、監視可能なシーケンスからディクショナリを作成します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ToEnumerable<TResult> 監視可能なシーケンスを列挙可能なシーケンスに変換します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ToEvent<TResult> 指定したソースを持つ .NET イベントを持つオブジェクトとして、監視可能なシーケンスを公開します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ToList<TResult> 監視可能なシーケンスからリストを作成します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ToLookup<TResult、TKey>(Func<TResult、TKey>) オーバー ロード。 指定したキー セレクター関数に従って、監視可能なシーケンスから参照を作成します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ToLookup<TResult、TKey>(Func<TResult、TKey>、IEqualityComparer<TKey>) オーバー ロード。 指定したキー セレクター関数と比較子に従って、監視可能なシーケンスから参照を作成します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ToLookup<TResult、TKey、TElement>(Func<TResult、TKey>、Func<TResult、TElement>) オーバー ロード。 指定したキー セレクター関数と要素セレクター関数に従って、監視可能なシーケンスから参照を作成します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ToLookup<TResult、TKey、TElement>(Func<TResult、TKey>、Func<TResult、TElement>、IEqualityComparer<TKey>) オーバー ロード。 指定したキー セレクター関数、比較子、および要素セレクター関数に従って、監視可能なシーケンスから参照を作成します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ToNotifier<TSource> オブザーバーから通知コールバックを作成します。 (オブザーバーによって定義
パブリック拡張メソッドパブリック拡張メソッド ToTask<TResult>() オーバー ロード。 監視可能シーケンスの最後の値を含むタスクを返します。 (TaskObservableExtensionsによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ToTask<TResult>(オブジェクト) オーバー ロード。 監視可能シーケンスの最後の値を含むタスクを返します。 (TaskObservableExtensionsによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ToTask<TResult>(CancellationToken) オーバー ロード。 監視可能シーケンスの最後の値を含むタスクを返します。 (TaskObservableExtensionsによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ToTask<TResult>(CancellationToken, Object) オーバー ロード。 監視可能シーケンスの最後の値を含むタスクを返します。 (TaskObservableExtensionsによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド TResult>(Func<TResult,Boolean>) を< オーバー ロード。 述語に基づいて監視可能なシーケンスの要素をフィルター処理します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド TResult>(Func<TResult、Int32、Boolean>)< オーバー ロード。 要素のインデックスを組み込むことで、述語に基づいて監視可能なシーケンスの要素をフィルター処理します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ウィンドウ<TResult>(Int32) オーバー ロード。 観測可能シーケンスの各要素を、要素数情報に基づいて生成される連続する重複しないウィンドウに投影します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ウィンドウ<TResult>(TimeSpan) オーバー ロード。 監視可能シーケンスの各要素を、タイミング情報に基づいて生成される連続する重複しないウィンドウに投影します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ウィンドウ<TResult>(Int32,Int32) オーバー ロード。 監視可能シーケンスの各要素を、要素数情報に基づいて生成される 0 個以上のウィンドウに投影します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ウィンドウ<TResult>(TimeSpan、IScheduler) オーバー ロード。 監視可能シーケンスの各要素を、タイミング情報に基づいて生成される連続する重複しないウィンドウに投影します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ウィンドウ<TResult>(TimeSpan、TimeSpan) オーバー ロード。 監視可能シーケンスの各要素を、タイミング情報に基づいて生成される 0 個以上のウィンドウに投影します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ウィンドウ<TResult>(TimeSpan、Int32) オーバー ロード。 監視可能なシーケンスの各要素を、完全または特定の時間が経過したときに完了したウィンドウに投影します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ウィンドウ<TResult>(TimeSpan、TimeSpan、IScheduler) オーバー ロード。 監視可能シーケンスの各要素を、タイミング情報に基づいて生成される 0 個以上のウィンドウに投影します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ウィンドウ<TResult>(TimeSpan、Int32、IScheduler) オーバー ロード。 監視可能なシーケンスの各要素を、完全または特定の時間が経過したときに完了したウィンドウに投影します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド ウィンドウ<TResult、TWindowClosing>(Func<IObservable<TWindowClosing>>) オーバー ロード。 観測可能なシーケンスの各要素を、連続する重複しないウィンドウに投影します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Window<TResult、TWindowOpening、TWindowClosing>(IObservable<TWindowOpening>、Func<TWindowOpening、IObservable<TWindowClosing>>) オーバー ロード。 監視可能なシーケンスの各要素を 0 個以上のウィンドウに投影します。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Zip<TResult、TSecond、TResult>(IObservable<TSecond>、Func<TResult、TSecond、TResult>) オーバー ロード。 2 つの観測可能なシーケンスを、ペアごとの方法で要素を組み合わせることにより、1 つの観測可能なシーケンスにマージします。 (Observableによって定義されます)。
パブリック拡張メソッドパブリック拡張メソッド Zip<TResult、TSecond、TResult>(IEnumerable<TSecond>、Func<TResult、TSecond、TResult>) オーバー ロード。 セレクター関数を使用して、監視可能なシーケンスと列挙可能なシーケンスを 1 つの監視可能なシーケンスにマージします。 (Observableによって定義されます)。

ページのトップへ

備考

このサブジェクト インターフェイスは、ある種類の観測可能なシーケンスを観察しながら、別の型の監視可能なシーケンスを公開する際に、対象に柔軟性を提供します。

この例では、ISubject<TSource、TResult> を実装し、別の型の監視可能なシーケンスを発行しながら、1 つの型の監視可能なシーケンスを観察する方法を示します。 この例の AsciiConverterSubject は、char 型のシーケンスを監視し、監視可能な int シーケンスを発行することによって実装を示しています。発行された監視可能な int のシーケンスは、観察する各文字値の ASCII コードです。

using System;
using System.Collections.Generic;
using System.Reactive.Linq;
using System.Reactive.Subjects;
using System.Reactive.Concurrency;
using System.Reactive.Disposables;
using System.Threading;

namespace Example
{
  class Program
  {
    static void Main()
    {
      //****************************************************************************************//
      //*** Create an observable sequence of char from console input until enter is pressed. ***//
      //****************************************************************************************//
      IObservable<char> keySequence = Observable.Create<char>(observer =>
      {
        bool bContinue = true;

        while (bContinue)
        {
          ConsoleKeyInfo keyInfo = Console.ReadKey(true);

          if (keyInfo.Key != ConsoleKey.Enter)
          {
            observer.OnNext(keyInfo.KeyChar);
          }
          else
          {
            observer.OnCompleted();
            bContinue = false;
          }
        }

        return (() => { });
      });


      //****************************************************************************************//
      //*** Create an AsciiConverterSubject which takes a source type of char and returns an ***//
      //*** observable sequence of int which is the ASCII code for source items of char.     ***//
      //****************************************************************************************//

      AsciiConverterSubject myConverterSubject = new AsciiConverterSubject();


      //****************************************************************************************//
      //*** Subscribe to the keySequence on the .NET threadpool so the main thread can       ***//
      //*** create subscriptions to the AsciiConverterSubject                                ***//
      //****************************************************************************************//

      IDisposable subscription = keySequence.SubscribeOn(Scheduler.ThreadPool).Subscribe(myConverterSubject);


      Console.WriteLine("\nEnter a sequence of keys to have the AsciiConverterSubject\nconvert the keys to their ASCII code values.\n"); 
      Console.WriteLine("Press ENTER to terminate the observable sequence...\n");


      //****************************************************************************************//
      //*** Subscribe to the AsciiConverterSubject and write the ASCII code values to the    ***//
      //*** console window.                                                                  ***//
      //***                                                                                  ***//
      //*** The main thread will wait on the completion of the keySequence. It completes     ***//
      //*** when ENTER is pressed.                                                           ***//
      //****************************************************************************************//

      EventWaitHandle waitHandle = new EventWaitHandle(false, EventResetMode.ManualReset);
      myConverterSubject.Subscribe(c => Console.WriteLine("Ascii Char code {0} entered.",c), () => waitHandle.Set());
      waitHandle.WaitOne();


      //***************************************//
      //*** Explicitly releasing resources. ***//
      //***************************************//
      
      subscription.Dispose();
      myConverterSubject.Dispose();
    }
  }



  //***********************************************************************************************//
  //***                                                                                         ***//
  //*** The AsciiConverterSubject demonstrates an implementation of ISubject<TSource, TResult>. ***//
  //*** It is used to subscribe to an observable sequence of char. It publishes an observable   ***//
  //*** sequence of int which should be the ASCII code for each char value it observes.         ***//
  //***                                                                                         ***//
  //***********************************************************************************************//

  class AsciiConverterSubject : ISubject<char, int>, IDisposable
  {
    private List<IObserver<int>> observerList;
    private bool isDisposed;
    private bool isStopped;
    object gate = new object();
    Exception exception;

    public AsciiConverterSubject()
    {
      observerList = new List<IObserver<int>>();
    }

    public void OnCompleted()
    {
      //****************************************************************************************//
      //*** Make sure the OnCompleted operation is not preempted by another operation        ***//
      //*** which would break the expected behavior.  For example, don't allow an error from ***//
      //*** OnError preempt OnCompleted from anotther thread. Then OnCompleted would follow  ***//
      //*** an error.  That would be an incorrect behavior.                                  ***//
      //****************************************************************************************//

      lock (gate)
      {
        CheckDisposed();

        if (!isStopped)
        {
          foreach (IObserver<int> observer in observerList)
          {
            observer.OnCompleted();
          }

          observerList.Clear();
          isStopped = true;
        }
      }
    }

    public void OnError(Exception error)
    {
      if (error == null)
        throw new ArgumentException("Exception error should not be null.");

      //****************************************************************************************//
      //*** Make sure the OnError operation is not preempted by another operation which      ***//
      //*** would break the expected behavior.  For example, don't allow unsubscribe or an   ***//
      //*** OnCompleted operation to preempt OnError from another thread. This would result  ***//
      //*** in an error following completion.  That would be an incorrect behavior.          ***//
      //****************************************************************************************//

      lock (gate)
      {
        CheckDisposed();

        if (!isStopped)
        {
          exception = error;

          foreach (IObserver<int> observer in observerList)
          {
            observer.OnError(error);
          }

          observerList.Clear();
          isStopped = true;
        }
      }
    }

    public void OnNext(char value)
    {
      //****************************************************************************************//
      //*** Make sure the OnNext operation is not preempted by another operation which       ***//
      //*** would break the expected behavior.  For example, don't allow unsubscribe, errors ***//
      //*** or an OnCompleted operation to preempt OnNext from another thread. This would    ***//
      //*** have the result of items in a sequence following completion, errors, or          ***//
      //*** unsubscribe.  That would be an incorrect behavior.                               ***//
      //****************************************************************************************//

      lock (gate)
      {
        CheckDisposed();

        if (!isStopped)
        {
          foreach (IObserver<int> observer in observerList)
          {
            observer.OnNext(Convert.ToInt32(value));
          }
        }
      }
    }

    public IDisposable Subscribe(IObserver<int> observer)
    {
      if (observer == null)
        throw new ArgumentException("observer should not BehaviorSubject null.");

      //****************************************************************************************//
      //*** Make sure Subscribe occurs in sync with the other operations so we keep the      ***//
      //*** correct behavior depending on whether an error has occurred or the observable    ***//
      //*** sequence has completed.                                                          ***//
      //****************************************************************************************//

      lock (gate)
      {
        CheckDisposed();

        if (!isStopped)
        {
          observerList.Add(observer);
          return new Subscription(observer, this);
        }
        else if (exception != null)
        {
          observer.OnError(exception);
          return Disposable.Empty;
        }
        else
        {
          observer.OnCompleted();
          return Disposable.Empty;
        }
      }
    }

    private void Unsubscribe(IObserver<int> observer)
    {
      //****************************************************************************************//
      //*** Make sure Unsubscribe occurs in sync with the other operations so we keep the    ***//
      //*** correct behavior.                                                                ***//
      //****************************************************************************************//

      lock (gate)
      {
        observerList.Remove(observer);
      }
    }

    public void Dispose()
    {
      //****************************************************************************************//
      //*** Make sure Dispose occurs in sync with the other operations so we keep the        ***//
      //*** correct behavior. For example, Dispose shouldn't preempt the other operations    ***//
      //*** changing state variables after they have been checked.                           ***//
      //****************************************************************************************//

      lock (gate)
      {
        observerList.Clear();
        isStopped = true;
        isDisposed = true;
      }
    }

    private void CheckDisposed()
    {
      if (isDisposed)
        throw new ObjectDisposedException("Subject has been disposed.");
    }


    //************************************************************************************//
    //***                                                                              ***//
    //*** The Subscription class wraps each observer that creates a subscription. This ***//
    //*** is needed to expose an IDisposable interface through which a observer can    ***//
    //*** cancel the subscription.                                                     ***//
    //***                                                                              ***//
    //************************************************************************************//

    class Subscription : IDisposable
    {
      private AsciiConverterSubject subject;
      private IObserver<int> observer;

      public Subscription(IObserver<int> obs, AsciiConverterSubject sub)
      {
        subject = sub;
        observer = obs;
      }

      public void Dispose()
      {
        subject.Unsubscribe(observer);
      }
    }
  }
}

コード例によって次の出力が生成されました。

Enter a sequence of keys to have the AsciiConverterSubject
convert the keys to their ASCII code values.

Press ENTER to terminate the observable sequence...

Ascii Char code 59 entered.
Ascii Char code 108 entered.
Ascii Char code 115 entered.
Ascii Char code 100 entered.
Ascii Char code 107 entered.
Ascii Char code 102 entered.
Ascii Char code 59 entered.
Ascii Char code 108 entered.
Ascii Char code 115 entered.
Ascii Char code 100 entered.
Ascii Char code 107 entered.
Ascii Char code 102 entered.
Ascii Char code 59 entered.
Ascii Char code 108 entered.
Ascii Char code 115 entered.
Ascii Char code 107 entered.
Ascii Char code 100 entered.
Ascii Char code 59 entered.
Ascii Char code 102 entered.
Ascii Char code 108 entered.
Ascii Char code 115 entered.
Ascii Char code 107 entered.
Ascii Char code 100 entered.

関連項目

参考

System.Reactive.Subjects 名前空間の