C# 我可以将ASOBSERVIABLE easy连接到观察者吗
我有一个LinQ表达式,结果是一个C# 我可以将ASOBSERVIABLE easy连接到观察者吗,c#,observable,system.reactive,C#,Observable,System.reactive,我有一个LinQ表达式,结果是一个IEnumerable语句 我想通过OnNext使用ForEach()路由到观察者 现在我看到一个关于使用反应式扩展而不是ForEach的提示,代码如下所示 statements.ToObservable().Subscribe( s=>this.statementObserver.OnNext(新语句(replyTo,jobId,s)); //foreach(语句中的var s) // { //this.statementObserver.OnNext(新语句
IEnumerable
语句
我想通过OnNext使用ForEach()
路由到观察者
现在我看到一个关于使用反应式扩展而不是ForEach的提示,代码如下所示
statements.ToObservable().Subscribe(
s=>this.statementObserver.OnNext(新语句(replyTo,jobId,s));
//foreach(语句中的var s)
// {
//this.statementObserver.OnNext(新语句(replyTo,jobId,s));
// }
这是正确的还是我可以直接将我的语句连接到statementObserver?您可以使用您建议的任何一种方法,但这可能是更惯用的方法:
statements
.ToObservable()
.Select(s => new Statement(replyTo, jobId, s))
.Subscribe(this.statementObserver);
不过,一定要小心暴露这样的观察者。只要调用.OnCompleted()
,您就杀死了对象。最好通过观察,让全班按照自己喜欢的方式观察