Я пытаюсь вывести значения, возвращаемые методом, используя действие точки останова.Метод содержит несколько неидентичных операторов возврата, аналогичных этому примеру:
double Foo(int bar, int baz)
{
if (bar < 0)
return Math.Sqrt((double)(baz - bar) * (baz - bar));
if (bar % baz == 0)
{
if (baz == 3)
{
return bar / 2 * baz;
}
else
{
return Math.Pow(bar, baz);
}
}
return Math.Log(baz, bar);
}
Я ищу способ вывода возвращаемого значения, не прибегая к рефакторингу метода, чтобы он сохранял значение впеременная, или установка точки останова в каждом операторе возврата и необходимость написать отдельное действие для каждого из них.
Принятый ответ на этот вопрос показывает, что можно проверить возвращаемое значение, используя$ReturnValue
ключевое слово в Immediate Window непосредственно перед выходом из метода.
На следующем рисунке показано, чего я хотел бы достичь.

Конечно, это не сработает, и выведите:
DEBUG Result of Foo ("1", false) = ошибка CS0103: имя "$ ReturnValue" не существует в текущемcontext.
Хотя доступно несколько ключевых слов, например $CALLER
или $TNAME
, я не нашел ничего, что могло бы привести к возвращаемому значению.
Возможно липрint возвращаемое значение в одном действии точки останова?