C#中的#line
处理器指令将每行的行号增加到文件末尾,或者直到达到另一个#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。
答案 0 :(得分:7)
您正在寻找#line default
,它会恢复自然行号
请参阅documentation
答案 1 :(得分:0)
#line N
指令设置实线和虚拟N线之间的差异。要使用#line default
恢复实线计数。