怎样取得源代码的行号,就像VC中的__LINE__

解决方案 »

  1.   

    C#的方法  菜单上点工具->选项->文本编辑器->C#->显示->选择行号
      

  2.   

    to jackydr(dragon) 
    不是那个意思,是用某种方法取到行号,最终是要写在日志里的。
    如果直接把行号写死,太不灵活了。
      

  3.   

    public class LogInfo {
        public static int GetLineNum() 
        {
            System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace(1, true);
            return st.GetFrame(0).GetFileLineNumber();
        }
    }然后在代码中调用LogInfo.GetLineNum()即可获取行号,但代码中必须包含调试信息,在Release下只会返回0
      

  4.   

    在Exception 下取得错误的行号?
    try
    {
     ...
    }catch(Exception ex)
    {
    ex.toString();
    }
      

  5.   

    记录日志包括行号建立使用Trace类,该类功能强大。
    使用起来也非常简单。
    在程序启动时:
    Trace.Listeners.Remove("Default");
    Trace.Listeners.Add(new System.Diagnostics.TextWriterTraceListener("debug.log"));
    而后在每个异常的地方:
    Trace.WriteLine(ex.StackTrace);//这里就代行号了。
    当然如果随时随地都要的话,则使用
    ms-help://MS.VSCC.2003/MS.MSDNQTR.2003APR.1033/cpref/html/frlrfsystemdiagnosticsstackframeclasstopic.htm
      

  6.   

    GetFileLineNumber只能在debug的时候取到。
    而Release的时候,也需要行号,
    不仅是出现异常时需要行号,没有出现异常时也需要行号。