取以下函数:

DataTable go() {
    return someTableAdapter.getSomeData();
}

当我在这个函数中设置断点时,是否有可能检查返回值?Go()直接耦合到.aspx页面中的数据网格。

检查返回数据表的唯一方法是使用临时变量。然而,这有点不方便。没有别的办法了吗?


当前回答

我同意这是一件非常有用的事情:不仅可以在退出方法之前看到它的返回值,而且还可以看到我刚刚跳过的方法的返回值。我把它作为Visual Studio商业扩展“OzCode”的一部分来实现。

有了它,你可以直接在代码编辑器中查看方法的返回值,就像一种hud显示:

要了解更多信息,请观看这个视频。

其他回答

微软Visual c++曾经这样做,但Visual Studio不AFAIK..:(

我知道的唯一方法是在返回行上放置一个断点,然后调用Quick Watch窗口并输入返回的表达式:

someTableAdapter.getSomeData();

但这只有在调用不改变任何对象的状态时才有效(因为当您恢复执行时,将会对同一方法进行第二次调用)。

关于Visual Studio 2015:

根据Marc Gravell目前公认的答案:

此功能已添加到Visual Studio 2013。你可以看到回报 值在自动窗口或使用$ReturnValue在手表/立即 窗口

该回答还指出,该功能在Visual Studio 2015中无法工作。这并不(完全)正确。在检查方法调用的返回值时,有以下注意事项:

必须打开遗留表达式求值器才能识别$ReturnValue(工具/选项/调试/使用遗留c#和VB表达式求值器)。否则,您可以使用$ReturnValue1。

我在Visual Studio 2015 Enterprise中进行了测试:

关闭遗留表达式求值器:只有$ReturnValue1有效 打开遗留表达式求值器:$ReturnValue和$ReturnValue1都可以工作

如果中间窗口没有设置标志或其他变量,而只是返回一些东西,您也可以要求在中间窗口中计算值。

根据客户反馈网站,这可以在Visual Studio 2013中使用CLR 4.5.1完成。它在以前的c#版本中不可用。

(Visual Studio 2008和更早的版本支持VB.NET。C/ c++开发人员一直可以使用它。)