命名空间

1
2
using System.Diagnostics;
using System.Reflection;

获取堆栈

参考: https://docs.microsoft.com/zh-cn/dotnet/api/system.diagnostics.stacktrace?view=net-5.0

1
var stackTrace = new StackTrace();

获取自身信息

未指定跳过的帧数时,默认从自身帧开始,因此0表示自身帧

1
var frame = stackTrace.GetFrame(0)

方法

1
2
var method = frame.GetMethod();
var methodName = method.Name;

1
2
var type = method.ReflectedType;
var typeName = type.Name; //Name为类名;FullName为全限定名