国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

ASP.NET中的命名空間的簡(jiǎn)單介紹

2016-11-03 16:38:28 6714

ASP.NET中的命名空間的簡(jiǎn)單介紹


在A(yíng)SP.NET中,.NET Framework為我們提供了豐富的基類(lèi),為了能在程序中引用這些基類(lèi),我們必須先引用這些基類(lèi)的命名空間。類(lèi)似在C++中引用一個(gè)文件函數時(shí),我必須先調用該文件,例如<#include studio.h>,其實(shí)它和ASP.NET中命名空間的引用是同一原理。但是它們又有本質(zhì)上的區別。


  在A(yíng)SP.NET中,命名空間提供了一種組織相關(guān)類(lèi)和其他類(lèi)型的方式。與文件或組件不同,命名空間是一種邏輯組合,而不是物理組合。在C#文件中定義類(lèi)時(shí),可以把它包括在命名空間定義中。以后,在定義另一個(gè)類(lèi),在另一個(gè)文件中執行相關(guān)操作時(shí),就可以在同一個(gè)命名空間中包含它,創(chuàng )建一個(gè)邏輯組合,告?使用類(lèi)的開(kāi)發(fā)人員這兩個(gè)類(lèi)是如何相關(guān)的以及如何使用它們:


  using System;

  using System.Data;

  using System.Configuration;

  using System.Web;

  using System.Web.Security;

  namespace vlink

  {

  public class Agent

  {

  把一個(gè)類(lèi)型放在命名空間中,可以有效地給這個(gè)類(lèi)型指定一個(gè)較長(cháng)的名稱(chēng),該名稱(chēng)包括類(lèi)型的命名空間,后面是句點(diǎn)(.)和類(lèi)的名稱(chēng)。在上面的例子中,Agen全名是vlink.Agent。這樣,有相同短名的不同的類(lèi)就可以在同一個(gè)程序中使用了。


  也可以在命名空間中嵌套其他命名空間,為類(lèi)型創(chuàng )建層次結構:


  using System;

  using System.Data;

  using System.Configuration;

  using System.Web;

  using System.Web.Security;

  namespace vlink

  {

  namespace Agent

  {

  namespace CallBack

  {

  }

  }

  }

  每個(gè)命名空間名都由它所在命名空間的名稱(chēng)組成,這些名稱(chēng)用句點(diǎn)分隔開(kāi),首先是最外層的命名空間,最后是它自己的短名。所以Agent命名空間的全名是vlink.Agent,CallBack類(lèi)的全名是vlink.Agent.CallBack。


  注意不允許在另一個(gè)嵌套的命名空間中聲明多部分的命名空間。


  命名空間與程序集無(wú)關(guān)。同一個(gè)程序集中可以有不同的命名空間,也可以在不同的程序集中定義同一個(gè)命名空間中的類(lèi)型。


  using語(yǔ)句


  顯然,命名空間相當長(cháng),鍵入起來(lái)很繁瑣,用這種方式指定某個(gè)特定的類(lèi)也是不必要的。如本章開(kāi)頭所述,C#允許簡(jiǎn)寫(xiě)類(lèi)的全名。為此,要在文?的頂部列出類(lèi)的命名空間,前面加上using關(guān)鍵字。在文件的其他地方,就可以使用其類(lèi)型名稱(chēng)來(lái)引用命名空間中的類(lèi)型了:


  using System;

  using vlink;

  如前所述,所有的C#源代碼都以語(yǔ)句using System;開(kāi)頭,這僅是因為Microsoft提供的許多有用的類(lèi)都包含在System命名空間中。


  如果using指令引用的兩個(gè)命名空間包含同名的類(lèi),就必須使用完整的名稱(chēng)(或者至少較長(cháng)的名稱(chēng)),確保編譯器知道訪(fǎng)問(wèn)哪個(gè)類(lèi)型,例如,類(lèi) CallBack同時(shí)存在于A(yíng)gent和vlink命名空間中,如果要在命名空間Agent?創(chuàng )建一個(gè)類(lèi)Test,并在該類(lèi)中實(shí)例化一個(gè)CallBack 類(lèi),就需要指定使用哪個(gè)類(lèi)。


  因為using語(yǔ)句在C#文件的開(kāi)頭,C和C++也把#include放在這里,所以從C++遷移到C#的程序員常把命名空間與C++風(fēng)格的頭文件相混淆。不要犯這種錯誤,using語(yǔ)句在這些文件之間并沒(méi)有真正建立物理鏈接。C#也沒(méi)有對應于C++頭文件的部分。


  命名空間的別名


  using關(guān)鍵字的另一個(gè)用途是給類(lèi)和命名空間指定別名。如果命名空間的名稱(chēng)非常長(cháng),又要在代碼中使用多次,但不希望該命名空間的名稱(chēng)包含在using指令中(例如,避免類(lèi)名沖突),就可以給該命名空間指定一個(gè)別名,其語(yǔ)法如下:


  using alias = NamespaceName;

  ASP.NET中各命名空間及作用


  命名空間            描述


Microsoft.CSharp               支持C#語(yǔ)言編譯和生成代碼


System                          包含了基礎類(lèi),用于定義類(lèi)型/數組/字符串/事件/事件處理程序/異常處理/接口/數據類(lèi)型轉換/數學(xué)計算/應用程序環(huán)境管理等等


System.Coolections             包含了一組用于管理對象集合(例如列表/隊列/數組/哈希表/字典等)的類(lèi)  


System.Data                    主要包括了組成ADO.NET體系結構的類(lèi)


System.diagnostics            提供用于調試/跟蹤,以及與系統進(jìn)程/事件日志/性能計數器進(jìn)行交互的類(lèi)


System.Drawing                 提供訪(fǎng)問(wèn)GDI+基本圖形功能(在System.Drawing以下的命名空間,包括System.Drawing.Drawing2D和 System.Drawing.Text等,提供了更高級和更特殊的GDI+圖形功能)的類(lèi)System.IO包含了用于讀寫(xiě)數據流/文件和普通輸入/輸出(I/O)功能的類(lèi)型和類(lèi)


System.Reflection                  包括提供類(lèi)型檢測和動(dòng)態(tài)綁定對象功能的類(lèi)和接口


System.reflection.Emit           生成動(dòng)態(tài)程序集


System.Text                          包含用于字符編碼/將字符塊轉換為字節快/將字節塊轉換為字符塊等功能的對象


System.Text.RegularExpressions     包含了提供訪(fǎng)問(wèn).NET框架正則表達引擎的類(lèi)


System.Timer                                提供了Timer組件


System.Web                                  包含了用于實(shí)施瀏覽器/服務(wù)器通信和其他Web相關(guān)功能的類(lèi)


System.Web.Services                     包含了用于創(chuàng )建和消費Web服務(wù)的類(lèi)


System.Web.UI                              包含了用于創(chuàng )建Web頁(yè)和控件的用戶(hù)接口的類(lèi)和接口


System.Windows.Forms                  包含了用于創(chuàng )建基于WINDOWS的用戶(hù)接口的類(lèi)


System.XML                                    提供了支持處理XML的類(lèi)


提交成功!非常感謝您的反饋,我們會(huì )繼續努力做到更好!

這條文檔是否有幫助解決問(wèn)題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問(wèn)題:
-->