bmw318mt Ответов: 1

Stacktrace в C# - вопрос о возвращаемом значении


Я использую следующую строку кода, чтобы получить имя метода.

stackTrace = new StackTrace().GetFrame(0).GetMethod().ReflectedType.Name;


Этот метод называется тестом
public async Task IpToCountryMapping_ValidIPs_ShouldSucceedMapping


То
stackTrace 
возвращаемое значение равно

"<IpToCountryMapping_ValidIPs_ShouldSucceedMapping>d__9"


Почему я получаю результат, заключенный в < gt; и имею d_9 в конце?

Что я уже пробовал:

Ничего кроме некоторых поисков

RickZeeland

А что происходит, если вы используете обычные методы (не тест) ?

1 Ответов

Рейтинг:
1

OriginalGriff

"D" означает, что это итератор, "9" - это просто порядковый номер и обеспечивает уникальность возвращаемого значения. Бит в "<" и ">" - это имя метода, из которого исходит задача.

Это может помочь (или, скорее всего, сбить с толку) вам: c# - Где узнать о "волшебных именах" отладчика VS - переполнение стека[^]


jimmson

5!