我可以使用F#Interactive工具FSI.exe为我描述一种类型吗?换句话说,有一种我知道如何访问的类型(特别是Infer.NET库中的IExpression),但我不知道它提供了哪些方法。我希望我可以使用fsi来获取可用方法,属性等的描述。
可以这样做,还是有更好的方法去做?遗憾的是,我没有Visual Studio,这就是我以前获取此信息的方式......
谢谢, NELS
答案 0 :(得分:4)
这取决于“描述”的含义,以及您正在寻找的流程的自动化程度。使用.NET反射库来确定类型具有哪些公共方法非常容易。例如:
typeof<System.String>.GetMethods()
将为MethodInfo
类的所有公共方法提供包含String
的数组。你可以为任何其他类型做同样的事情。
您可以编写一个简单的方法来简化流程:
let showMethods(t:System.Type) =
t.GetMethods() |> Seq.iter (printfn "%A")