2
我想獲取所謂的函數的方法的名稱,這似乎有點問題與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的
開始
F1
主要
...
你有沒有考慮** **爲什麼它是一個有點與TPL的問題? – Maarten
因爲他們之間放置了另一層 – Yacov