有什么办法让Visual Studio调试器显示F#seq
表达式的内容?在观察窗口中显示一个顺序
Visual Studio知道约IEnumerable<T>
对象,并为您提供观察窗口内的结果视图。如果你在观察窗口看到其中的一个,你会看到一堆私人领域。
一些潜在的替代品:
- fsi.exe做印刷序列的一个不错的工作,但它不与调试
- 互动找到一个方法来调用
Seq.toArray
从调试器内。我无法从即时窗口找到正确的语法来调用它。 - 写一个vizualiser。我不知道是否可以将vizualisers附加到Microsoft类型。
- 别的东西......?
编辑:进一步的调查表明,F#的seq
对象实现IEnumerable<T>
就好了 - 它们出现在监视窗口中这样 - 但由于某些原因,结果视图不会出现。
但是,F#
(F#seq
对象似乎不是普通的IEnumerables;相反,它们看起来是来自
Seq
模块内功能的关闭。
seq
对象看起来是使用{ new IEnumerable with ... }
创建的实例。)
太差LINQ是不支持在调试器窗口:http://blogs.msdn.com/b/jaredpar/archive/2009/08/26/why-no-linq-in-debugger-windows。 aspx – 2010-08-18 13:29:45
看到我的答案如何让结果节点出现 – JaredPar 2010-08-18 14:16:11