2010-06-16 117 views
6

有没有办法查看Async工作流的定义?底层的东西会让一行代码在行为上有所不同,而不是在行为之外?F#异步工作流程

回答

5

如果“异步工作流程”,你的意思是AsyncBuilder类型定义的async块的行为,那么你可以找到在源分布control.fs文件中的定义,在源\ fsharp \ FSharp。核心文件夹。

将计算表达式转换为构建器实例上的方法调用可以在F# spec中找到。

+0

规范+1。尤其是,如果您了解LINQ如何在C#中工作(将语法重写为方法调用),那么您可以通过转换为构建器对象上的方法调用来熟悉F#工作流的工作方式。如果您对异步的具体细节感到好奇,请查看源代码中的control.fs。 – Brian 2010-06-16 19:18:33

+0

从哪里得到fs源码? – akaphenom 2010-06-16 20:44:14

+0

@akaphenom - 源代码与VS 2008的F#2.0版本(http://www.microsoft.com/downloads/details.aspx?FamilyID=444005fb-e627-4feb-b51d-13d6a3b4b8ed)一起提供。我不确定它是否也包含在开箱即用的VS 2010安装中...... – kvb 2010-06-16 20:52:24