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();
Console.WriteLine("顯示一些文字");
Console.WriteLine("顯示一些文字");
Console.WriteLine("顯示一些文字");
#line
c.ProcessCommand();