C#获取调用文件名,行号,方法
一.第一种方式
[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; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了