2011-07-04 10 views
6

数日前にデータ開発者センター(here)からダウンロードした反応拡張(Rx HOL .NET.pdf)のために、Hands-On-Labsで作業しています。Rx Switch()演算子はどうなったのですか?

私はNuGetを使用して、私のプロジェクトにこれらの参照を追加しました:

System.Reactive 1.0.10621.0 

System.Reactive.Windows.Forms 1.0.10621.0 

私はほとんどのラボで行われていますが、私は.Switch()の例を実装しようと暗礁に乗り上げるてきた、Visual Studioの 「スイッチ」と拡張子なしの方法 「スイッチ」 タイプの最初の引数を受け入れるための定義が含まれていません

「System.IObservable」 :拡張メソッドを見つけることができません「System.IObservable」 見つけることができます(ディレクティブまたはアセンブリ 参照を使用して 不足している?)、特定の物事が名前が変更されているので、

は、今私は、ドキュメントが古くなっている研究所でこの手を知っています(FromEventFromEventPatternとなりました)、特定のものが削除されました(RemoveTimeStamp)。このドキュメントには反映されていません。私の人生では、Switchの名前を変更したものを推測することはできません。また、どのアセンブリを移動したのか把握することも、削除されたことを示すリリースノートの包括的なリストを見つけることもできません。

Switchのどこに誰が知っていて、現在の名前は何ですか?

+1

Hand-On-Labs PDFへのリンクをご利用いただき、ありがとうございます。 –

+0

FromEventの名前はFromEventPatternの名前ではありません。 FromEventはまだ非常に生きています。ここに彼らの違いの素晴らしい説明があります - https://stackoverflow.com/a/19896246/540156 – onefootswill

答えて

8

Switch拡張方法はIObservable<T> - IObservable<IObservable<T>>まで拡張されません。完全なシグネチャは次のとおりです。

IObservable<TSource> Switch<TSource>(this IObservable<IObservable<TSource>> sources) 

Observable.Empty<IObservable<object>>().を入力してみてください、その後Switch表示されたかどうかを確認します。

そうでない場合は、using名前空間の宣言を確認してください。

+0

ありがとう。元の例は 'SelectMany' - >' TakeUntil'だったので、 'fooのxからbar(x)'への 'から' foo select bar(x) 'へ、' 2番目のフォームを使用して、スイッチが登場しました。 –

+1

ええ - あなたは通常Selectの後にSwitchを使います。ちょうどSelectManyが本当にSelectの後にマージするのと同じように –

関連する問題