I am working my way through the Hands-On-Labs for reactive extensions (Rx HOL .NET.pdf) which I downloaded from the data developer center (here) a few days ago.
I added these references to my project, using NuGet:
System.Reactive 1.0.10621.0
System.Reactive.Windows.Forms 1.0.10621.0
I'm almost done with the labs, but I've hit a snag trying to implement the .Switch() example, Visual Studio can't locate the extension method:
'System.IObservable' does not contain a definition for 'Switch' and no extension method 'Switch' accepting a first argument of type 'System.IObservable' could be found (are you missing a using directive or an assembly reference?)
Now I know this Hands On Labs document is out of date, because certain things have been renamed (FromEvent
became FromEventPattern
) and certain things were removed (RemoveTimeStamp
) and this document does not reflect that. For the life of me I cannot guess what they renamed Switch
to be, or figure out what assembly they might have moved it to, or find a comprehensive list of release notes that indicate it was removed.
Anyone know where I can find Switch
and what it's current name is?
The Switch
extension method doesn't extend IObservable<T>
- it extends IObservable<IObservable<T>>
. The full signature is:
IObservable<TSource> Switch<TSource>(this IObservable<IObservable<TSource>> sources)
Try typing Observable.Empty<IObservable<object>>().
and see if Switch
appears then.
If not, check your using
namespace declarations.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With