- C# 2012程序設計實踐教程 (清華電腦學堂)
- 張冬旭
- 800字
- 2021-03-26 17:16:25
1.5 引用命名空間
當一個程序的規模過大時,會出現一些問題。首先,代碼越多,就越難以理解和維護;其次,更多的代碼意味著需要更多的類和方法,也就要求跟蹤和使用更多名稱。名稱越來越多,極有可能因為兩個或者多個名稱沖突而造成項目無法生成。例如,Web開發者可能需要創建兩個同名的類,如果程序引用了其他開發者寫的程序集,后者同樣使用了大量的名稱,這個問題將會變得更嚴重。
在最初的解決方法中,開發者可以通過為名稱添加某種形式的限定符前綴來解決名稱沖突問題,但是這并不是最好的解決方案,因為它的擴展性不強。名稱變長后,還需要花更多的時間來反復閱讀令人費解的長名稱,真正編碼的時間卻少了。
使用命名空間可以解決這個問題,它為類創建容器,同一個名稱的類在不同的命名空間中不會混淆。
【范例5】
通過namespace關鍵字創建名稱是DeaiWith的命名空間,在該命名空間下創建UserMessage類,并為該類添加一個有參的構造函數。當實例化UserMessage類時,會自動向控制臺輸出一句話。完整代碼如下。
namespace DeaiWith { class UserMessage { public UserMessage(string name, int age, string hobboy) { Console.WriteLine("今年{0}歲的{1}同學喜歡{2}。", age, name, hobboy); } } }
觀察圖1-16中的Program類,該類是在MyFirstTest命名空間下,不同名稱空間下的類調用時需要先引入命名空間。通常情況下,有兩種方法:一種是完全限定,一種是通過using關鍵字引用。
1.完全限定
這種方式通過“命名空間.類名”方式進行引用。向Main()方法中添加代碼,實例化UserMessage類的對象,并向構造函數中傳入三個參數,代碼如下。
DeaiWith.UserMessage message =new DeaiWith.UserMessage("小小",12,"畫畫");
運行上述代碼查看效果,控制臺的輸出結果如下。
今年12歲的小小同學喜歡畫畫。
2.通過using關鍵字引用
如果程序中需要多次使用到UserMessage類,每次使用該類時都通過“命名空間.類名”引用則會非常煩瑣,這時可以用using關鍵字。using指定以后使用的名稱來自指定的命名空間,在代碼中不必對名稱進行完全限定。例如,重新更改上述內容,在當前調用類中通過using類引用命名空間,代碼如下。
using DeaiWith;
然后直接在Main()方法中調用DeaiWith類,并實例化該類,代碼如下。
UserMessage message = new UserMessage("小小", 12, "畫畫");