命名空間的聲明:
用namespace 關鍵字用於聲明一個命名空間。在命名空間的聲明中不能包含任何訪問修飾符。聲明命名空間可以幫助控制類名稱和方法名稱的范圍,防止命名沖突。
命名空間是可以嵌套的。
例如:
namespace A
{
namespace B
{
}
}
namespace A.B
{
}
兩者是等效的。
命名空間的引用:
使用using命令導入命名空間、或者通過完全的限定名。多數情況使用using是可以的。但是當兩個命名空間存在相同類名時,怎麼會導致編譯時錯誤,
此時就需要使用完全限定名,還有一種辦法就是使用using 為命名空間起別名。
例如:
聲明兩個命名空間,都有相同的類Test。
namespace A
{
public class Test
{
}
}
namespace B
{
public class Test
{
}
}
只是用一個命名空間的類,可以使用using指令,或者使用完全的限定名。
例如:
using A;
namespace C
{
class Program
{
static void Main(string[] args)
{
Test a=new Test(); // 等價於完全限定名 A.Test A = new A.Test();
}
}
}
如果同時使用A,B兩個命名空間的Test類,就會報錯 “Test”是“A.Test”和“B.Test”之間的不明確的引用
using A;
using B;
namespace C
{
class Program
{
static void Main(string[] args)
{
Test a=new Test();
}
}
}
此時需要使用完全限定名來使用類Test。
using A;
using B;
namespace C
{
class Program
{
static void Main(string[] args)
{
A.Test a=new A.Test();
}
}
}
這樣就不會報錯了。