我对Reactive Extensions很感兴趣,但找不到最新的教程。我从用.NET的Reactive Extensions治愈异步忧郁开始,但它已经过时了。我能想出一些变化,但我不能让很多例子发挥作用。
我在网上发现了很多文章,主要是20092010年的,但它们也与当前版本不兼容。我对在Windows Phone和WebClient:中使用Rx特别感兴趣
WebClient wc = new WebClient();
var o = Observable.FromEvent<DownloadStringCompletedEventArgs>(wc, "DownloadStringCompleted").Select(newString => newString.EventArgs.Result);
// Subscribe to the observable, and set the label text
o.Subscribe(s => myLabel.Text = s);
// Start the download
wc.DownloadStringAsync(new Uri("http://www.data.com/service"));
不再工作,用FromEventPattern
替换FromEvent
是不够的。
有人能给我指一个最新的资源吗?
学习Rx时,首先要了解IOobservable背后的理念,以及它基于推送的本质与IEnumerable相比如何。我建议以下一个很好的解释:反应扩展的另一个更简单的教程
Lee Campbell有一个很好的系列来解释api以及何时使用它们 他还试图跟上最新发布的版本:Reactive Extensions for.NET简介该系列现已作为一本书在处方简介中提供
顺便说一句,我还写了一篇关于用rx解决现实生活中的问题的博客文章:对数据库的流式数据使用反应扩展
希望这能有所帮助。
我发现了一个名为Reactive Extensions(Rx)Koans的"边做边学"项目
它最后一次更新是在2012年3月,所以它是最新的。
"Koan"的定义Kōans是一个禅宗单词,意思是一个人的启蒙或觉醒,通常是通过谜题或谜语。最常见的是"一只手拍手的声音是什么?"
它由一系列几乎完整的单元测试组成,你必须以通过的方式完成。你可以通过"填空"来完成。
它非常整洁,非常容易完成,并提供了宝贵的见解。
哦,是的,它是由Rx团队的Bart De Smet制作的
下面是一个典型的单元测试:
[TestMethod]
public void DoingInTheMiddle()
{
var status = new List<String>();
var daysTillTest = Range.Create(4, 1).ToObservable();
daysTillTest.Do(d => status.Add(d + "=" + (d == 1 ? "Study Like Mad" : ___)))
.Subscribe();
Assert.AreEqual("[4=Party, 3=Party, 2=Party, 1=Study Like Mad]", status.AsString());
}
到目前为止,帮助我了解Rx的最佳资源是:http://www.introtorx.com/
我认为这种情况发生在很多人身上,但当你在关键词"Rx教程"上搜索时,你找不到那个网站。认为有人需要添加一些标签到网站!
逐行(每行)阅读这本在线书籍并练习。这很好,我刚开始使用Rx时就这么做了。
http://www.introtorx.com/