程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> C#2005 .NET3.0高級編程學習筆記————命名空間

C#2005 .NET3.0高級編程學習筆記————命名空間

編輯:.NET實例教程
命名空間提供了一種組織相關類和其他類型的方式。它是一種邏輯組合,而不是物理組合。在C#文件中定義類時,可以把它包括在命名空間定義中。以後,在定義另一個類,在另一個文件中執行相關操作時,就可以在同一個命名空間中包含它。

        把一個類型放在命名空間中,可以有效地給這個類型指定一個較長的名稱,該名稱包括類型的命名空間,後面是句點(.)和類的名稱。



namespace Ling
...{
        using System;
        public struct  Test
        ...{
            ...........
        }
}

      也可以在命名空間中嵌套其他命名空間,為類型創造層次結構。



namespace Ling
...{
     namespace  Note
      ...{
          namespace   One
            ...{
  &nbs           class Test
                 ...{
                      .........
                 }
            }
      }
}

           每個命名空間名都由它所在的命名空間的名稱組成,這些名稱用句點分隔開。可以組織自己的命名空間定義中的命名空間,上面的代碼也可以寫為:



namespace Ling.Note.One
...{
      class Test
      ...{
          ............
      }
}

         注意不允許在另一個嵌套的命名空間中聲明多部分的命名空間。它與程序集無關。同一個程序集中可以有不同的命名空間,也可以在不同的程序集中定義同一個命名空間的類型。

       using語句

    顯然命名空間相當長,鍵入起來很煩瑣,用這種方式指定某個類也是沒必要的,因為C#允許簡寫類的全名。在文件的頂部列出類的命名空間,前面加上using關鍵字,在文件的其他地方,就可以使用其類型名稱來引用命名空間中的類型了:



using System;
using Ling.Note.One;

     所有的C#源代碼都以語句using System;開頭,因為Microsoft提供的許多有用的類型都包含在System命名空間中。

     如果using指令引用的兩個命名空間包含同名的類,就必須使用完整的名稱(或者至少較長的名稱),確保編譯器知道訪問哪個類型。

      要注意,using語句在這些文件之間並沒有建立物理鏈接。

       命名空間的別名

      using關鍵字的另一個用途是給類和命名空間指定別名。如果命名空間的名稱非常長,又要在代碼中使用多次,但不希望該命名空間的名稱包含在using指令中,就可以給該命名空間指定一個別名:



using 別名=命名空間名;

      下面的例子給ling.note.one命名空間指定ling別名,並使用這個別名實例化了一個test對象,這個對象是在該命名空間中定義的。注意命名空間別名的修飾符是::。




using Chen=Ling.Note.One;
class Pro
...{
     public static int Main()
     ...{
          Chen::Test NamespaceTest= new Chen::Test();
          Console.WriteLine(NamespaceTest.GetNamespace());
          return 0;
     }
}

namespace Ling.Note.One
...{
       class  Test
       ...{
            ................
            public string GetNamespace()
...{
                   return this.GetType().Namespace;
             }
       }
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved