C#得到当前执行的函数名和代码行

获取方法封装:

 

        public string getLogInfo(StackFrame stackFrame)
        {
            StackTrace st = new StackTrace(stackFrame);
            StackFrame sf = st.GetFrame(0);
            StringBuilder logInfo= new StringBuilder();
            // 得到文件名
            logInfo.Append(sf.GetFileName());
            logInfo.Append("  ");
            // 得到方法名
            logInfo.Append(sf.GetMethod().Name);
            logInfo.Append("  ");
            // 得到行号
            logInfo.Append(sf.GetFileLineNumber());
            logInfo.Append("  ");
            // 得到列号
            logInfo.Append(sf.GetFileColumnNumber());

            return logInfo.ToString();
        }

 

调用方法:

 

        // 得到当前行的日志信息
        string logInfo = getLogInfo(new StackFrame(true));

 

输出结果:

 

 D:\\Projects\\WindowsFormsApplication1\\WindowsFormsApplication1\\Form1.cs  Form1_Load  24  13


如果给你带来帮助,欢迎微信或支付宝扫一扫,赞一下。