-
完全限定名
鎖定
- 中文名
- 完全限定名
- 外文名
- 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
}