複製鏈接
請複製以下鏈接發送給好友

完全限定名

鎖定
C#中每個命名空間和類型都具有一個完全限定名,該名稱在所有其他命名空間或類型中唯一標識該命名空間或類型。命名空間的好處是可以用類型所在的命名空間來區分同名的類型,這樣可以有效地防止命名衝突。這時每個類型由兩部分標誌:所在的命名空間和類型名。因為命名空間有父子層次,所以可能需要多個命名空間才能完全限定一種類型 [1] 
中文名
完全限定名
外文名
fully qualified name
屬    性
命名空間
語    種
C#
作    用
防止命名衝突
領    域
計算機技術

目錄

完全限定名詞語簡介

C#中每個命名空間和類型都具有一個完全限定名,該名稱在所有其他命名空間或類型中唯一標識該命名空間或類型。命名空間或類型N 的完全限定名按下面這樣確定:
如果N是全局命名空間的成員,則它的完全限定名為N。否則,它的完全限定名為S.N,其中S 是聲明瞭N的命名空間或類型的完全限定名。換言之,N的完全限定名是從全局命名空間開始通向N 的標識符的完整分層路徑。由於命名空間或類型的每個成員都必須具有唯一的名稱,因此,如果將這些成員名稱置於命名空間或類型的完全限定名之後,這樣構成的成員完全限定名一定符合唯一性 [1] 

完全限定名方法

命名空間類似於文件夾的概念,亦即在一個命名空間中可以包含其他命名空間。由於命名空間是用來組織代碼的,所以必須層次化定義它們。方法是:在層次體系的頂層定義通用命名空間,然後在其中定義具體的命名空間。這種層次化的命名空間稱為嵌套命名空間,另外命名空間和類也可以構成程序的嵌套,往往用命名空間的完全限定名來表示這種層次的命名空間 [2] 

完全限定名示例

下面的示例演示了若干命名空間和類型聲明及其關聯的完全限定名。
class A {} // A
namespace X // X
{
class B //X.B
{
class C {} // X.B.C
}
namespace Y //X.Y
{
class D {} // X.Y.D
}
}
namespace X.Y // X.Y
{
class E {} // X.Y.E
}
參考資料
  • 1.    飛思科技產品研發中心編著,C#編程指南,電子工業出版社,2002年11月第1版,
  • 2.    杜四春 銀紅霞 蔡立軍等編著,21世紀高等院校規劃教材 C#程序設計,中國水利水電出版社,2006年07月第1版,