Получить описание типов в F # Interactive? - PullRequest
3 голосов
/ 29 июня 2010

Могу ли я получить FSI.exe, интерактивный инструмент F #, чтобы описать тип для меня? Другими словами, есть тип, который я знаю как получить доступ (в частности, IExpression в библиотеке Infer.NET), но я не знаю, какие методы он предоставляет. Я надеюсь, что смогу использовать fsi для получения описания доступных методов, свойств и т. Д.

Можно ли это сделать, или есть лучший способ сделать это? У меня, к сожалению, нет Visual Studio, как я привык получать эту информацию ...

Спасибо, Нелс

1 Ответ

4 голосов
/ 29 июня 2010

Это зависит от того, что вы подразумеваете под «описанием», и от того, насколько автоматизирован процесс, который вы ищете.Использовать библиотеки отражений .NET довольно просто, чтобы определить, какие публичные методы есть у типа.Например:

typeof<System.String>.GetMethods()

даст вам массив, содержащий MethodInfo s для всех открытых методов класса String.Вы можете сделать то же самое для любых других типов.

Вы можете написать простой метод для оптимизации процесса:

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