Prashant Sridharan Microsoft Corporation
适用于:Microsoft Visual Studio® C# 2003
摘要:为了与欧洲计算机制造商协会 (ECMA) 的 C# 规范完全兼容,Microsoft Corporation 对 C# 编译器的实现进行了几处改动。这些改动将在多方面影响现有的代码,因此用户必须检查他们的代码以确保这些代码符合 C# 编程语言必需的和推荐的使用要求。
背景
2001 年年底,ECMA 将 C# 编程语言批准为一项标准 (ECMA-334)。为了与 Microsoft 在 C# 和公共语言接口 (CLI) 标准化进程方面的举措保持一致,Microsoft 遵循 ECMA C# 标准的精神和文字规范对 C# 编译器进行了几处小的改动。另外,Microsoft 在遵循 C# 标准规范的同时对 C# 实现作了一些额外的小改动,并更正了 C# 程序员遇到的一些编译器问题和错误。其中的每处改动都可能导致使用 Visual C# .NET 2002 版编译器编写的代码在用于 Visual C# .NET 2003 之前必须进行修改。
C# 语言的新功能
Visual C# .NET 2003 版的 C# 语言中添加了两个新功能。第一,编译器现在支持 #line hidden 预处理器指令。#line hidden 指令主要用于源代码生成器,它通知编译器忽略紧跟在 #line hidden 指令后面的所有代码行的调试程序信息,直到遇到下一个 #line 指令为止(该 #line 指令的调试程序信息也一并被忽略),这里假设它们中间不会立即碰到下一个 #line hidden 预处理指令。在下面的示例中,编译器生成了 IL 代码,其中的 WriteLine 语句不包含调试信息。这样,调试应用程序的程序员将无法查看“隐藏”的代码并检查其中的内容:
public class Customer
{
public static void Main()
{
MyClass c = new MyClass();
c.ExecuteCommand();
#line hidden
Console.WriteLine("显示一些文字");
Console.WriteLine("显示一些文字");
Console.WriteLine("显示一些文字");
#line
c.ProcessCommand();
c.Close();
}
}
然而,#line hidden 指令并不隐藏编译器错误。当然,编译器仍然将代码编译到 IL 中,且代码仍旧执行;编译器只是禁止调试程序进入它的内容。
第二个 C# 新功能涉及 XML 注释,是根据 ECMA 标准添加的。C# 现在支持在使用“斜线和星号”符号(/* 和 */)编写的多行注释中添加 XML 注释。下面的 XML 注释在 2003 版的 C# 编译器中是合法的:
/**
|
闂傚倸鍊搁崐鎼佸磹瀹勬噴褰掑炊椤掆偓杩濋梺閫炲苯澧撮柡灞剧〒閳ь剨缍嗛崑鍛暦瀹€鍕厸鐎光偓閳ь剟宕伴弽顓溾偓浣糕槈濡嘲鐗氶梺鍛婂姉閸嬫挸袙婢跺绻嗛柣鎰典簻閳ь剚鍨垮畷鏇㈠蓟閵夈儱鐎梺绉嗗嫷娈旈柦鍐枛閺岋綁寮崶銉㈠亾閳ь剟鏌涚€n偅灏柍钘夘槸閳诲秹顢樿缁ㄥジ鏌熸笟鍨鐎规洘鍎奸ˇ顕€鏌¢埀顒勬嚍閵夛絼绨婚梺鍝勬川閸嬬偤藟閻愮儤鍊垫慨妯煎亾鐎氾拷闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偞鐗犻、鏇㈠Χ閸℃ぞ绮℃俊鐐€栭崝褏绮婚幋鐘差棜闁秆勵殕閻撴洟鏌熼柇锕€鐏遍柛銈咁儔閺屻倝寮堕幐搴′淮闂佸搫鏈粙鎴﹀煡婢跺ň鏋庨柟閭﹀枤閳诲繒绱撻崒姘偓椋庢媼閺屻儱鐤鹃柣妯款嚙閽冪喖鏌i弮鍌楁嫛闁轰礁绉电换婵囩節閸屾碍鐏撻梺鍝勬-閸樺ジ鈥旈崘顔嘉ч柛鎰╁妼婵兘姊洪悷鏉挎闁瑰嚖鎷�>>
正在阅读:Visual C# .NET 2003语言的改变Visual C# .NET 2003语言的改变
2009-03-12 23:34
出处:PConline
责任编辑:ycx
键盘也能翻页,试试“← →”键