完全限定名

完全限定名

C#中每個命名空間和類型都具有一個完全限定名,該名稱在所有其他命名空間或類型中唯一標識該命名空間或類型。命名空間的好處是可以用類型所在的命名空間來區分同名的類型,這樣可以有效地防止命名衝突。這時每個類型由兩部分標誌:所在的命名空間和類型名。因為命名空間有父子層次,所以可能需要多個命名空間才能完全限定一種類型。

基本介紹

  • 中文名:完全限定名
  • 外文名:fully qualified name
  • 屬性:命名空間
  • 語言:C#
  • 作用:防止命名衝突
  • 領域:計算機技術
概述,方法,示例,

概述

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

方法

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

示例

下面的示例演示了若干命名空間和類型聲明及其關聯的完全限定名。
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
}

相關詞條

熱門詞條

聯絡我們