2011-06-10 123 views
2

我在做什麼錯?我剛剛下載了最新的Rx sdk,已安裝。使用vs 2010,.net 4擁有所有最新的sp/updates等。已下載/已安裝的linqpad,添加了對反應性dll的引用,如附圖所示。添加linqpad演示中顯示的一行,但運行時出現錯誤。請指教。右鍵單擊圖像並查看圖像以獲得清晰視圖。linqpad錯誤使用Rx反應式擴展在c#

感謝

enter image description here

回答

7

在Rx主頁上下載其實不是最新的Rx SDK。最新版本爲Reactive Extensions Team Blog site,目前爲 聖誕節2010 2011年5月 June 2011 release

在您正在使用的版本中,Observable類位於命名空間(而不是System.Linq命名空間)的System.Reactive.Linq中。再次按F4並將System.Reactive.Linq輸入到「其他名稱空間導入」中。 (或者如果您有自動完成功能,智能標籤將出現併爲您完成工作)。

這將使您在LINQPad中使用Rx運行。調用.Dump()在observable上是非阻塞的,因此您可以一次轉儲多個observable。

例如:

Observable.Interval(TimeSpan.FromSeconds(1)).Take(5).Dump("1 second"); 
Observable.Interval(TimeSpan.FromSeconds(.5)).Take(5).Dump(".5 second"); 

結果:當所有的觀測已經結束

.5 second → 0 
1 second → 0 
.5 second → 1 
.5 second → 2 
1 second → 1 
.5 second → 3 
.5 second → 4 
1 second → 2 
1 second → 3 
1 second → 4 

查詢將完成(或按取消)。

要運行另一個反應性查詢,請按Ctrl + Shift + N。這會創建一個具有相同屬性的新查詢(引用,名稱空間導入等)。另一個技巧,如果你有自動完成,在添加程序集/命名空間導入後點擊'Save as Snippet'。然後,無論何時輸入快捷方式(例如'rx')並按Tab,引用和名稱空間都會自動添加。

+0

我簡直不敢相信我的問題添加System.ReactiveSystem.Reactive.Linq是由古老的阿爾巴哈利先生回答。我從你的線程,pfx教程中學到了很多東西。基本上像我們這個社區的大多數人一樣喜歡大風扇。我會按照您的建議進行操作,並計劃爲智能感知和其他功能購買此工具的專業許可證。謝謝 – Gullu 2011-06-11 17:03:23

+0

其實,聖誕節發佈後有兩個版本*。儘管Joe的工具最新發布的版本是http://www.microsoft.com/download/en/details.aspx?id=26225 - +1,但它對於探索Linq和Rx都是非常棒的! – 2011-06-11 18:28:32

+0

謝謝 - 我剛剛下載了該版本,並注意到它支持新的GetAwaiter模式,因此您可以等待最新的異步CTP中的觀察值! – 2011-06-12 02:05:13

2

切換到對話框中的其他選項卡,然後在命名空間列表

+0

ok。感謝您的答覆。 – Gullu 2011-06-11 17:16:03