如何在没有硬编码字符串的情况下打印函数名称?

时间:2020-03-13 06:55:51

标签: c# function printing line

c语言具有类似于 FILE / LINE 的宏来打印文件名和代码行号

那么C#语言如何实现相同的目标,有可能做到或需要汇编程序包?

非常感谢。

1 个答案:

答案 0 :(得分:3)

您可以使用StackFrame,不过我会对此有所警惕,因为这样做会降低性能,并且可能会给您带来发行方面的问题。

表示堆栈跟踪,它是一个或多个的有序集合 更多堆栈帧。

var stackTrace = new StackTrace(0, true);
var sf = stackTrace.GetFrame(0);
Console.WriteLine("FileName: {0}", sf.GetFileName());
Console.WriteLine("Line Number:{0} ",sf.GetFileLineNumber());
Console.WriteLine("Function Name:{0}",sf.GetMethod ());