命名空間的聲明:
用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();
} } }
這樣就不會報錯了。
新聞熱點
疑難解答