Я хочу получить имена методов, так называемой моей функции. Кажется, что-то вроде проблемы с TplКак получить трассировку стека из собственных методов только при использовании TPL?
Есть ли хорошее решение?
BTW: Я осведомлен о CallerMemberName, Но я хочу другое решение так не будет загромождать мой код
Вот мой тестовый код так может сломаться в следующей версии TPL
class Program
{
static void Main(string[] args)
{
Console.WriteLine(F1().Result);
Console.ReadKey();
}
static async Task<string> F1()
{
return await F2();
}
static Task<string> F2()
{
var callingMethods = new StackTrace().GetFrames().Select(v => v.GetMethod().Name);
var result = string.Join(Environment.NewLine, callingMethods);
return Task.FromResult(result);
}
}
И это выходной сигнал
F2
MoveNext
Start
F1
Главная
...
Рассматривали ли вы ** ** почему это немного проблемы с TPL? – Maarten
Потому что они кладут еще один слой между ними – Yacov