一.获取当前函数名:

class Program 
{   
static void Main(string[] args)     
{       
    Console.WriteLine(test());    
}  
static string Test()  
{      
    var st = new System.Diagnostics.StackTrace();        
    return st.GetFrame(0).ToString();  
}
}
 
结果:Test at offset 72 in file:line:column <filename unknown>:0:0,Test就是当前函数。


二.获取源码文件名,当前函数,当前代码行,列:


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());

转载于:https://www.cnblogs.com/pengwenbing/archive/2010/08/30/1812893.html

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐