Rx中Subject的真實用途是什麼?我在101個樣本中發現了一個樣本,但我認爲這並沒有給我一個關於在哪裏應用這個的清晰想法。請任何人發佈一些簡單的樣本來展示Rx中的主題工作。我正在使用這個在Windows手機的上下文。Subject <T> in Rx
1
A
回答
7
Subject<T>
是Rx的List<T>
- 它只是一個的IObservable,你可以手動信號:
var subj = new Subject<int>();
subj.Subscribe(Console.WriteLine);
subj.OnNext(4);
subj.OnNext(5);
subj.OnCompleted();
>>> 4
>>> 5
這對於那些使用非的Rx模式,如回調或APM「包裝」異步方法真的有用。檢查出this example from my book。
1
當前的指導是你應該避免在你的代碼庫中使用主題。那麼這是我的意見,我最近和Bart De Smet(Rx的作者)口頭上同意這一點。
大多數時候我看到使用的主體,它可以與Observable.Create <Ť>(IObserver <Ť>)或另一個的工廠例如代替FromEventPattern,定時器,FromAPM等等
見此事我的博客文章:
http://www.introtorx.com/Content/v1.0.10621.0/02_KeyTypes.html
http://www.introtorx.com/Content/v1.0.10621.0/18_UsageGuidelines.html
有兩個很好的例外指導:
- 如果喲您正在使用BehaviorSubject <T>作爲屬性的後臺字段
- 當您使用MultiCast操作符時,然後使用主題可以提供您正在查找的功能集......或者您只使用烘焙的功能集像.Replay(),.PublishLast()
相關問題
- 1. Drupal 7 change block subject in template.php
- 2. Observable.Iterate()in Rx 1.0.10621.0/1.1.10621.0
- 3. Angular2:Subject <string> to string
- 4. ReactiveUI ReactiveCommand canExecute using Subject <bool> not working
- 5. ERROR IN GGPLOT IN的Rx變量是離散
- 6. 無法從AD獲得TGT
- 7. print <<< HTML in php?
- 8. 部隊更新TGT
- 9. python email subject \ r \ n
- 10. Convert Subject to Observable
- 11. escape <in python
- 12. @<Symbol In Prolog
- 13. <noscript> in <head>
- 14. << operator not working in C++
- 15. RX主題<T>如何取消訂閱
- 16. Rx INotifyPropertyChanged to IObservable <Tuple <TProperty,TProperty >>
- 17. <canvas> in greasemonkey
- 18. Foo <Ruby in Ruby
- 19. <Binary> in sql
- 20. ListView in <include>
- 21. RX和CancelEventArg
- 22. 提供Subject Subject的服務不會收到通知
- 23. Rx突然變化
- 24. print << EOF in perl-要打印$
- 25. <out T> vs <T> in Generics
- 26. 覆蓋的運算符<< in C++
- 27. 主叫運營商<< in gdb
- 28. <<和| = in Java的含義
- 29. <img> in <canvas>未顯示
- 30. <input></input> in innerHTML not working
你見過這篇文章:http://www.jeroenverhulst.be/post/2010/09/29/Exploring-Reactive-Extension%E2%80%99s -Subjectlt;送給Tgt;的.aspx? –