.net – 带有RX扩展的LINQ

我认为LINQ查询语言适用于IObservable,就像使用ReactiveExtensions的IEnumerable一样.我有以下代码

Public Sub Foo(source As IObservable(Of Tuple(Of Integer,Integer)))
  Dim filtered = source.Where(Function(x) x.Item1 > 10).Select(Function(x) x.Item1 + x.Item2)
  Dim filtered2 = From x In source Where x.Item1 > 10 Select x.Item1 + x.Item2
End Sub

Public Sub Bar(source As IEnumerable(Of Tuple(Of Integer,Integer)))
  Dim filtered = source.Where(Function(x) x.Item1 > 10).Select(Function(x) x.Item1 + x.Item2)
  Dim filtered2 = From x In source Where x.Item1 > 10 Select x.Item1 + x.Item2
End Sub

IEnumerable版本的代码没问题.然而对于LINQ版的Foo(第二行)
我得到了一个迟到的绑定不允许的错误

x.Item1

当我将鼠标悬停在x上时,Intellisense表示它是object类型而不是
类型元组.但是对象查询版本的操作相同(第一行)
编译确定.我已经进口了

Imports system.reactive.linq

我错过了另一个参考吗?

解决方法

你在问题中的所有代码都适用于我.我没有收到你的错误.

也许尝试导入System.Reactive,但除此之外它看起来很好.

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...