如何从FSharp提示中获取有关类型的信息

时间:2013-05-31 21:00:43

标签: f# f#-interactive f#-data

我正在使用FSharp,我正在尝试从FSharp.Data库中找到有关我正在使用的类型的更多信息。例如,如何从FSharp交互式提示中找出HttpMessageBody是否是一个有区别的联合等?

3 个答案:

答案 0 :(得分:3)

您可以使用Reflection.FSharpType中的方法获取信息:

例如

 static member IsUnion : Type * ?BindingFlags -> bool

会告诉您类型是否为联盟类型。

模块中的更多功能是at MSDN

答案 1 :(得分:2)

我认为有一种简单的方法可以直接从F#interactive获取信息(但正如John Palmer所提到的,编写一个使用F#反射获取此信息的辅助函数并打印它并不会太难)。

但是,如果您使用的是Visual Studio或MonoDevelop(Xamarin Studio),那么当您将鼠标悬停在编辑器中的类型名称上或在其中找到时,您应该会在工具提示中看到所需的所有信息。自动完成:

Visual Studio showing that HttpResponseBody is a discriminated union

答案 2 :(得分:-1)

我相信Code Quotations正是您所寻找的。