C# 語言規范--2.5.7 行指令
發表于:2007-07-14來源:作者:點擊數:
標簽:
C# 語言規范--2.5.7 行指令: 行指令可用于改變編譯器在輸出(如警告和錯誤)中報告的行號和源文件名稱。 行指令最通用于從某些其他文本輸入生成 C# 源代碼的元編程工具。 pp-line: (pp 行:) whitespace opt # whitespace opt line whitespaceline-indica
C# 語言規范--2.5.7 行指令:
行指令可用于改變編譯器在輸出(如警告和錯誤)中報告的行號和源文件名稱。
行指令最通用于從某些其他文本輸入生成 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(文件名)中只是表示一個普通的反斜桿字符。
原文轉自:http://www.kjueaiud.com