using語句
顯然,命名空間相當長,鍵入起來很繁瑣,用這種方式指定某個特定的類也是不必要的。如本章開頭所述,C#允許簡寫類的全名。為此,要在文件的頂部列出類的命名空間,前面加上using關鍵字。在文件的其他地方,就可以使用其類型名稱來引用命名空間中的類型了:
using System;
using Wrox.ProCSharp;
如前所述,所有的C#源代碼都以語句using System;開頭,這僅是因為Microsoft提供的許多有用的類都包含在System命名空間中。
如果using指令引用的兩個命名空間包含同名的類,就必須使用完整的名稱(或者至少較長的名稱),確保編譯器知道訪問哪個類型,例如,類NamespaceExample同時存在於Wrox.ProCSharp.Basics和Wrox.ProCSharp.OOP命名空間中,如果要在命名空間Wrox.ProCSharp中創建一個類Test,並在該類中實例化一個NamespaceExample類,就需要指定使用哪個類:
using Wrox.ProCSharp;
class Test
{
public static int Main()
{
Basics.NamespaceExample nSEx = new Basics.NamespaceExample();
//do something with the nSEx variable
return 0;
}
}
因為using語句在C#文件的開頭,C和C++也把#include放在這裡,所以從C++遷移到C#的程序員常把命名空間與C++風格的頭文件相混淆。不要犯這種錯誤,using語句在這些文件之間並沒有真正建立物理鏈接。C#也沒有對應於C++頭文件的部分。
公司應花一定的時間開發一種命名空間模式,這樣其開發人員才能快速定位他們所需要的功能,而且公司內部使用的類名也不會與外部的類庫相沖突。本章後面將介紹建立命名空間模式的規則和其他命名約定。