MN
WhenAnyValue
— T -> IObservable<T>
ReactiveCommand
— TOut -> IObservable<TOut>
Events
— event Action<T> -> IObservable<T>
Size: a a a
MN
WhenAnyValue
— T -> IObservable<T>
ReactiveCommand
— TOut -> IObservable<TOut>
Events
— event Action<T> -> IObservable<T>
λР
IEnumerable<T>
и IObservable<T>
обе монадыMN
λР
RS
MN
RS
λР
λР
IAsyncEnumerable
всё ещё pull-basedRS
λР
λР
IObservable
и внутри push, и API для pushλР
IObservable
ты подписываешься через Subscribe
или через др. оператор, а у IAsyncEnumerable
надо пулить значения всякими OnNext
, для UI оно не оч удобное. это асинхронный IEnumerable
собственно говоря, даλР
IObservable
можно писатьvar value = await observable.Take(1)
RS
λР
IObservable
? который из System
(и System.Reactive
)λР
RS
IObservable
? который из System
(и System.Reactive
)λР
RS