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? –