手机看片精品高清国产日韩,色先锋资源综合网,国产哺乳奶水91在线播放,乱伦小说亚洲色图欧洲电影

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

2016-11-03 16:38:28 11209

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


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


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


  using System;

  using System.Data;

  using System.Configuration;

  using System.Web;

  using System.Web.Security;

  namespace vlink

  {

  public class Agent

  {

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


  也可以在命名空間中嵌套其他命名空間,為類型創(chuàng)建層次結(jié)構(gòu):


  using System;

  using System.Data;

  using System.Configuration;

  using System.Web;

  using System.Web.Security;

  namespace vlink

  {

  namespace Agent

  {

  namespace CallBack

  {

  }

  }

  }

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


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


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


  using語句


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


  using System;

  using vlink;

  如前所述,所有的C#源代碼都以語句using System;開頭,這僅是因?yàn)镸icrosoft提供的許多有用的類都包含在System命名空間中。


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


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


  命名空間的別名


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


  using alias = NamespaceName;

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


  命名空間            描述


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


System                          包含了基礎(chǔ)類,用于定義類型/數(shù)組/字符串/事件/事件處理程序/異常處理/接口/數(shù)據(jù)類型轉(zhuǎn)換/數(shù)學(xué)計(jì)算/應(yīng)用程序環(huán)境管理等等


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


System.Data                    主要包括了組成ADO.NET體系結(jié)構(gòu)的類


System.diagnostics            提供用于調(diào)試/跟蹤,以及與系統(tǒng)進(jìn)程/事件日志/性能計(jì)數(shù)器進(jìn)行交互的類


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


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


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


System.Text                          包含用于字符編碼/將字符塊轉(zhuǎn)換為字節(jié)快/將字節(jié)塊轉(zhuǎn)換為字符塊等功能的對(duì)象


System.Text.RegularExpressions     包含了提供訪問.NET框架正則表達(dá)引擎的類


System.Timer                                提供了Timer組件


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


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


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


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


System.XML                                    提供了支持處理XML的類


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

這條文檔是否有幫助解決問題?

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

在文檔使用中是否遇到以下問題: