在F#Interactive中获取类型的描述?

时间:2010-06-29 15:15:53

标签: f# types f#-interactive

我可以使用F#Interactive工具FSI.exe为我描述一种类型吗?换句话说,有一种我知道如何访问的类型(特别是Infer.NET库中的IExpression),但我不知道它提供了哪些方法。我希望我可以使用fsi来获取可用方法,属性等的描述。

可以这样做,还是有更好的方法去做?遗憾的是,我没有Visual Studio,这就是我以前获取此信息的方式......

谢谢, NELS

1 个答案:

答案 0 :(得分:4)

这取决于“描述”的含义,以及您正在寻找的流程的自动化程度。使用.NET反射库来确定类型具有哪些公共方法非常容易。例如:

typeof<System.String>.GetMethods()

将为MethodInfo类的所有公共方法提供包含String的数组。你可以为任何其他类型做同样的事情。

您可以编写一个简单的方法来简化流程:

let showMethods(t:System.Type) =
  t.GetMethods() |> Seq.iter (printfn "%A")