调试器显示中的Lazy <t>评估。 “功能评估需要所有线程运行。”</t>

时间:2011-04-28 17:25:03

标签: .net c#-4.0

我有一个有很多子集合的类,它们都是使用Lazy&lt;延迟加载的。 T>。调试时,即使没有加载,也可以显示这些子集合吗?或者在调试时强制评估?以下是其中一个儿童系列快速监视的屏幕截图。调试器显示的消息是“函数评估需要所有线程运行。”,这对我来说很有意义,我只是希望这些子集合更适合调试器。

Screenshot

1 个答案:

答案 0 :(得分:0)

这可能不是一种简单的方法,但在VisualStudio中,您可以为特定类型创建自己的调试可视化工具。因此,您可以创建一个可视化工具,评估Lazy以获取值,然后将结果公开,以便再次显示。

参见http://msdn.microsoft.com/en-us/library/ms379596(v=vs.80).aspxhttp://www.codeproject.com/KB/vb/AuthoringVisualizers.aspx