在VS2013中,我们可以通过检查名为$ReturnValue
的Watch窗口条目来查看方法的返回值。这在VS2015中似乎不起作用。
e.g。我制作了一个新的控制台应用程序,其中包含以下代码:
using System;
namespace ReturnInspector
{
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Number: {0}", Method1());
}
public static int Method1()
{
return Method2(1000); //A
} //B
private static int Method2(int i)
{
return i + 42;
}
}
}
如果我在第//A
行放置一个断点,那么一旦它断开,F10步进到行//B
,Watch窗口中的$ReturnValue
项在VS2013中显示“1042”,但是在VS2015中它显示了这个:
error CS0103: The name '$ReturnValue' does not exist in the current context
请注意,Autos和Locals窗口正确地说明了这一点:
ReturnInspector.Program.Method2 returned 1042
有人知道监视窗口功能中的$ReturnValue
是否在VS2015中被删除了吗?
答案 0 :(得分:9)
确保您拥有工具>>选项>>调试>>使用旧版C#和VB表达式评估程序选项。
来自MSDN:
您必须打开旧版表达式计算器才能识别$ ReturnValue(工具/选项/调试/使用旧版C#和VB表达式计算器)。否则,您可以使用$ ReturnValue1。
答案 1 :(得分:0)
在VS2019社区中,它与$ ReturnValue1一起使用