Там хорошая F # рабочий строитель для Rx здесь:F # рабочий строитель для Rx
http://blogs.msdn.com/b/dsyme/archive/2011/05/30/nice-f-syntax-for-rx-reactive-extensions.aspx
Я пытался сделать с помощью реализации для рабочего процесса, но держать стучать головой о стену. Может быть, здесь слишком поздно.
Как создать это?
type RxBuilder() =
// ...
member this.Using (disposable, f) =
Observable.Using(???)
Заранее благодарен.
Ницца! Мне нравится обозначение ограничения. Похоже, нужно взглянуть на fsharpx поближе. –
Моя реализация For фактически выглядела так: member this.For (xs: 'a IObservable, f:' a -> 'b IObservable):' b IObservable = xs.SelectMany (f). Еще не проверено. –
Это в основном то же самое, я просто не использовал формат метода расширения по причинам стиля (в соответствии с другими реализациями) и явные аргументы типа, чтобы подтвердить, что все работает так, как ожидалось. – yamen