当前位置:首页 > 网络编程 > 软件语言 > .NET > C# 语言规范--2.5.7 行指令

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

点击次数:44 次 发布日期:2008-11-06 08:04:07 作者:源代码网
源代码网推荐
广告载入中

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

行指令最通用于从某些其他文本输入生成 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(文件名)中只是表示一个普通的反斜杆字符。


源代码网推荐

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华