C# 我可以将ASOBSERVIABLE easy连接到观察者吗

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(新语句

我有一个LinQ表达式,结果是一个
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()
,您就杀死了对象。最好通过观察,让全班按照自己喜欢的方式观察