C#中的#line processor指令增加了行号

C#中的#line processor指令将每行的行号增加到文件末尾,或者直到达到另一个#line处理器指令;自动增量行号.

那太有趣了!例如:

try
{
#line 110
    act();
    throw new InvalidOperationException();
}
catch (Exception x) { Console.WriteLine(x); }

显示在第111行发生异常(不是110!).

问题:假设#line显示的行号与实际行号不同.例如,#line 110实际上被放置在实际的第13行.现在是否有办法取消#line的功能并显示在实际的第23行(而不是120)上发生了异常?

注意:我只是想确定我没有遗漏任何东西(或做任何愚蠢的事情).

我在.NET 4.5项目上使用Visual Studio 2012.

最佳答案
您正在寻找#line默认值,它会恢复为自然行编号.
documentation

转载注明原文:C#中的#line processor指令增加了行号 - 代码日志