C# 获取所在函数名

1. 正常代码中

StackTrace st = new StackTrace(new StackFrame(true));
Console.WriteLine("Stack trace for current level: {0}", st.ToString());

StackFrame sf = st.GetFrame(0);

Console.WriteLine("File: {0}", sf.GetFileName());
Console.WriteLine("Method: {0}", sf.GetMethod().Name);
Console.WriteLine("Line Number: {0}", sf.GetFileLineNumber());
Console.WriteLine("Column Number: {0}", sf.GetFileColumnNumber());

2. 异常处理中

try
{
    throw new Exception();
}
catch (Exception e1)
{
    string errMsg = "Method: " + e1.TargetSite.Name + "() run error.";

    Console.WriteLine(errMsg);
}

  

原文地址:https://www.cnblogs.com/dhqy/p/14763704.html