一.第一种方式
[DebuggerStepThrough] //跳过调式 static void Print(string str, [CallerFilePath] string filePath = "",//文件路径 [CallerLineNumber] int num = 0, //行号 [CallerMemberName] string name = "") //方法名 { Console.WriteLine(str); Console.WriteLine("filePath {0}", filePath); Console.WriteLine("Line {0}", num); Console.WriteLine("Call from {0}", name); }
二.第二种方式:
1.获取行号
/// <summary> /// Get line number of code dynamically /// </summary> /// <param name="skipFrames">number of frames to skip</param> /// <returns>line number of code after skipping frames</returns> public static int GetCodeLineNum(int skipFrames) { StackTrace st = new StackTrace(skipFrames, true); StackFrame fram = st.GetFrame(0); int lineNum = fram.GetFileLineNumber(); return lineNum; }
2.获取文件路径
/// <summary> /// Get file name information of code dynamically /// </summary> /// <param name="skipFrames">number of frames to skip</param> /// <returns>file name information of code after skipping frames</returns> public static string GetCodeFileName(int skipFrames) { StackTrace st = new StackTrace(skipFrames, true); StackFrame fram = st.GetFrame(0); string source = fram.GetFileName(); return source; }
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/279493.html