0
我有以下代碼在VB.net(VS 2012)中正常工作。需要注意的是m.Listen是返回一個的IObservable(的可能(的NominalObject))關於包圍的VB.Net和Linq語法
Dim d As IDisposable = (From x In m.Listen(Of Maybe(Of NominalObject))()
From y In x
Select New LAPViewCommands(y)).
BindToControl(Me, Function(x) x.ViewModel)
d.DisposeWith(Me)
這是一個自定義用戶控件的一部分,我有 結合IObservables到模型的一些推廣方法。但細節無關緊要。當 我更改代碼爲
(From x In m.Listen(Of Maybe(Of NominalObject))()
From y In x
Select New LAPViewCommands(y)).
BindToControl(Me, Function(x) x.ViewModel).
DisposeWith(Me)
我有一個編譯錯誤。請注意,流利的語法沒有問題。
m.
Listen(Of Maybe(Of NominalObject)).
SelectMany(Function(x) x.Select(Function(y) New LAPViewCommands(y))).
BindToControl(Me, Function(x) x.ViewModel).
DisposeWith(Me)
這是問題的VB.NET解析器的一個奇怪的邊緣情況下,還是有我失去了一些東西 重要嗎?總之,問題是。爲什麼我不能包含一個 LINQ查詢表達式,然後使用返回void的流利擴展方法