一周學C#第五天——命名空間

來源:互聯網
上載者:User
 

一周學C#_第5天

命名空間

1          問題

越大的程式包含的名字越多

越多的名字——越大的可能性導致命名衝突

你是怎樣命名以反映結構

顯示的首碼不是一個很好的解決方案

sealed class Book{...}

sealed class GUIBook{...}//這是傳統的命名方法

2          解決的方法

一個命名空間是一個邏輯的命名系統

命名空間表示一個範圍

任何.cs檔案中都可以在任一命名空間中插入類

單獨的一個.cs檔案可以訪問多個命名空間

namespace GUI

{

       sealed class Book

       {

              ...

       }

}//這是【命名空間】的解決辦法

使用命名空間的方法可以反映程式中的邏輯關係。

上面的例子說明你中GUI命名空間聲明了一個類,叫Book,而不是使用GUIBook這個長名字。

3          嵌套的命名空間

一個命名空間可以包含其他的命名空間

使用嵌套來反映程式的結構

命名空間總是隱含為public

namespace RainForest

{

       namespace GUI

       {

              sealed class Book

              {

                     ...

              }

       }

}

 

namespace RainForest.GUI

{

       sealed class Book

       {

       ...

       }

}

【注意】上面兩個程式是等價的。

命名空間可以包含——類和其他的命名空間,但是不能包含資料。

嵌套的命名空間之間的結構反映了程式組織的邏輯結構。

命名空間隱含為public,也就是說命名空間的聲明不能包含任何存取修飾詞,連public也不能加。

命名空間之所以隱含為public,是因為這樣任何一個程式的任何一部分都可以訪問它。

還有必須注意,因為命名空間是隱含為public,所以它的命名應該使用PascalCase命名規則,即所有單詞的首字母大寫。

嵌套的命名空間可以非常有效組織大型程式的邏輯結構,但是每一層都重複鍵入關鍵字namespace的話,比較繁瑣,你可以像上面那樣使用簡寫。

4          全名

命名空間反映的是邏輯結構

帶點的全名稱是冗長和討人厭的

但它比不帶點的名字好

namespace RainForest.GUI

{

       sealed class Book

       {

              ...

              private System.Collections.Hashtable pages;

       }

}

命名空間的使用可以避免命名衝突,但是它會導致名字的長度增加。

5          using標記

using標記是類在命名空間中可見

只能在一個命名空間的開頭使用

namespace RainForest.GUI

{

       using System.Collections;

       ...

       sealed class Book

       {

              ...

              private Hashtable pages;

       }

}

using標記只能用在命名空間的開頭,放在任何類聲明語句的前頭。注意using標記也可以放在.cs檔案的開頭。

6          引用別名

【using <別名>】會產生一個別名,它能用於:

u 類或命名空間;

u 只能被用在命名空間的開頭。

namespace RainForest.GUI

{

       using Hashtable=System.Collections.Hashtable;

 

       sealed class Book

       {

              ...

              Hashtable pages;

       }

}

 

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.