AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > .NET技术

C# 语言规范--2.5.7 行指令

51自学网 http://www.51zixue.net

行指令可用于改变编译器在输出(如警告和错误)中报告的行号和源文件名称。

行指令最通用于从某些其他文本输入生成 C# 源代码的元编程工具。

pp-line:(pp 行:)
whitespaceopt   #   whitespaceopt   line   whitespace   line-indicator   pp-new-line(空白可选   #   空白可选   line   空白   行指示符   pp 新行)
line-indicator:(行指示符:)
decimal-digits   whitespace   file-name(十进制数字   空白   文件名)

decimal-digits(十进制数字)

default

hidden

file-name:(文件名:)
"   file-name-characters   "("   文件名字符   ")
file-name-characters:(文件名字符:)
file-name-character(文件名字符)
file-name-characters   file-name-character(文件名字符   文件名字符)
file-name-character:(文件名字符:)
除 " 外的任何输入字符

当不存在 #line 指令时,编译器在它的输出中报告真实的行号和源文件名称。#line 指令最通用于从某些其他文本输入生成 C# 源代码的元编程工具。当处理的 #line 指令包含不是 default 的行指示符时,编译器将该指令“后面”的行视为具有给定的行号(如果指定了,还包括文件名)。

#line default 指令消除前面所有 #line 指令的影响。编译器报告后续行的真实行信息,就像尚未处理任何 #line 指令一样。

#line hidden 指令对错误信息中报告的文件号和行号无效,但对源代码级调试确实有效。调试时,#line hidden 指令和后面的 #line 指令(不是 #line hidden)之间的所有行都没有行号信息。在调试器中逐句执行代码时,将全部跳过这些行。

注意,file-name(文件名)与常规字符串的不同之处在于不处理转义字符;“/”字符在 file-name(文件名)中只是表示一个普通的反斜杆字符。

 

 

 
上一篇:C#进阶教程(一)  下一篇:C# 语言规范--2.5.6 区域指令