Я пытался понять Rx более глубоко, следуя серии Барта де Сметса MinLinq и Джона Скитса «Reimplementing», я получил хорошее понимание, но ...
Взяв следующий код запример
var onePerSecond = Observable.Interval(TimeSpan.FromSeconds(1));
var evenNums = onePerSecond.Where(x => x % 2 == 0);
evenNums.Subscribe(Console.WriteLine);
С точки зрения эквивланта IEnumerable Я понимаю поток данных MoveNext / Current и из блога мистера Скитса о том, как метод Where может быть реализован с помощью foreach overIEnumerable «this» параметр метода расширения.
Но в случае метода Where IObservable будет ли он содержать код для реализации интерфейса IObserver (или лямбда-эквивланта) и, следовательно, эффективно наблюдать все уведомления отобъект onePerSecond и, в свою очередь, возвращающий IObservable, который содержит только те значения, которые предикат считает истинными?
Любая помощь и мысли очень приветствуются, большое спасибо
Джеймс