一步一步學習C#語言【名稱空間】

來源:互聯網
上載者:User

標籤:.net開發 c#程式設計語言

  • 名稱空間的基本概念

    1、它是.NET中提供應用程式代碼容器的方式,可以唯一標識代碼及其內容。

    2、用作.Net Framework中給項分類的一種方式。



  • 名稱空間的定義

    格式:namespace <名稱空間名字>{ }

    1、使用namespace關鍵字為花括弧內的代碼塊顯式定義名稱空間。

    2、預設情況下,C#程式碼封裝含在全域名稱空間中。

    3、如果在該名稱空間外部使用名稱空間內的名稱,必須寫出該名稱空間的限定名稱。

    4、限定名稱包含名稱空間所有分層資訊。

    5、限定名稱在不同的名稱空間層級之間使用句點字元(.)。

    6、如果一個名稱空間中的代碼需要使用另一個名稱空間中定義的名稱,必須包括對該名稱的引用。



  • 名稱空間樣本


  • // eg. 1namespace LevelOne{    // code in LevelOne namespace     // name "NameOne" defined    // ==> reference NameOne: NameOne}// code in Global namespace// ==> reference NameOne: LevelOne.NameOne// eg. 2namespace LevelOne{    // code in LevelOne namespace    // ==> reference NameTwo: LevelTwo.NameTwo    namespace LevelTwo    {        // code in LevelOne.LevelTwo namespace        // name "NameTwo" defined        // ==> reference NameTwo: NameTwo    }}// code in Global namespace// ==> reference NameTwo: LevelOne.LevelTwo.NameTwo// eg. 3namespace LevelOne{    // code in LevelOne namespace    // name "NameThree" defined    // ==> 1. reference NameThree: LevelTwo.NameThree    // ==> 2. reference NameThree: NameThree(LevelOne.NameThree)    namespace LevelTwo    {        // code in LevelOne.LevelTwo namespace        // name "NameThree" defined        // ==> reference NameThree: NameThree    }}// code in Global namespace// ==> 1. reference NameThree: LevelOne.LevelTwo.NameThree// ==> 2. reference NameThree: LevelOne.NameThree// eg. 4namespace LevelOne{    // code in LevelOne namespace    using LevelTwo    // ==> reference NameTwo: NameTwo or LevelTwo.NameTwo    namespace LevelTwo    {        // code in LevelOne.LevelTwo namespace        // name "NameTwo" defined    }}// eg.5namespace LevelOne{    // code in LevelOne namespace    // name "NameTwo" defined    using LevelTwo    // ==> reference NameTwo: LevelTwo.NameTwo    // ==> reference NameTwo: NameTwo is error!    namespace LevelTwo    {        // code in LevelOne.LevelTwo namespace        // name "NameTwo" defined    }}// eg.6namespace LevelOne{    // code in LevelOne namespace    // name "NameThree" defined    using LT = LevelTwo;    // ==> reference NameThree: LT.NameThree    // ==> reference NameThree: NameThree(LevelOne.NameThree)    namespace LevelTwo    {        // code in LevelOne.LevelTwo namespace        // name "NameThree" defined    }}


    註:1) 在名稱空間中,可以使用namespace關鍵字定義嵌套的名稱空間。嵌套的名稱空間通過其層            次結構來引用,並使用句點區分階層的層次。

        2) 名稱由名稱空間唯一定義。

        3) 使用using關鍵字訪問名稱空間。

           例如:using System;

        4) 使用using關鍵字可以定義名稱空間別名

           例如:using NewNamespace = OldNamespace;

        5) using語句可以應用到包含它們的名稱空間,以及該名稱空間包含的嵌套的名稱空間。

           例如:using LevelOne.LevelTwo;

        6) using語句本身並不能訪問另一個名稱空間中的名稱。除非名稱空間中的代碼以某種方式鏈            接到項目上,或者代碼是在該項目的源檔案中定義的,或在連結到該項目的其他代碼中定義            的,否則就不能訪問其中包含的名稱。

本文出自 “行動勝於言語” 部落格,請務必保留此出處http://vikxiao.blog.51cto.com/9189404/1551227

一步一步學習C#語言【名稱空間】

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.