У меня есть объект INotifyPropertyChanged, Foo. Я превращаю Foo в наблюдаемый поток событий, используя метод FromEvent Rx:
var myFoo = new Foo();
var eventStream = Observable.FromEvent<PropertyChangedEventArgs>(myFoo, "PropertyChanged");
Теперь я хочу прослушать изменение определенного свойства, и если .Progress == 100, отписаться:
eventStream
.Where(e => myFoo.Progress == 100)
.Subscribe(OnFooFinished);
Как мне отписаться, когда Progress == 100? Если я добавлю вызов .Take (1) после предложения .Where, это автоматически отменит подписку?