第一篇:解決方案、命名空間和項(xiàng)目的關(guān)系
一、解決方案、項(xiàng)目、程序集、命名空間
初學(xué)者很容易把這些概念搞混淆。先說(shuō)說(shuō)項(xiàng)目(Project),通俗的說(shuō),一個(gè)項(xiàng)目可以就是你開(kāi)發(fā)的一個(gè)軟件。在.Net下,一個(gè)項(xiàng)目可以表現(xiàn)為多種類型,如控制臺(tái)應(yīng)用程序,Windows應(yīng)用程序,類庫(kù)(Class Library),Web應(yīng)用程序,Web Service,Windows控件等等。如果經(jīng)過(guò)編譯,從擴(kuò)展名來(lái)看,應(yīng)用程序都會(huì)被編譯為.exe文件,而其余的會(huì)被編譯為.dll文件。既然是.exe文件,就表明它是可以被執(zhí)行的,表現(xiàn)在程序中,這些應(yīng)用程序都有一個(gè)主程序入口點(diǎn),即方法Main()。而類庫(kù),Windows控件等,則沒(méi)有這個(gè)入口點(diǎn),所以也不能直接執(zhí)行,而僅提供一些功能,給其他項(xiàng)目調(diào)用。
在Visual Studio.Net中,可以在“File”菜單中,選擇“new”一個(gè)“Project”,來(lái)創(chuàng)建一個(gè)新的項(xiàng)目。例如創(chuàng)建控制臺(tái)應(yīng)用程序。注意在此時(shí),Visual Studio除了建立了一個(gè)控制臺(tái)項(xiàng)目之外,該項(xiàng)目同時(shí)還屬于一個(gè)解決方案(Solution)。這個(gè)解決方案有什么用?如果你只需要開(kāi)發(fā)一個(gè)Hello World的項(xiàng)目,解決方案自然毫無(wú)用處。但是,一個(gè)稍微復(fù)雜一點(diǎn)的軟件,都需要很多模塊來(lái)組成,為了體現(xiàn)彼此之間的層次關(guān)系,利于程序的復(fù)用,往往需要多個(gè)項(xiàng)目,每個(gè)項(xiàng)目實(shí)現(xiàn)不同的功能,最后將這些項(xiàng)目組合起來(lái),就形成了一個(gè)完整的解決方案。形象地說(shuō),解決方案就是一個(gè)容器,在這個(gè)容器里,分成好多層,好多格,用來(lái)存放不同的項(xiàng)目。一個(gè)解決方案與項(xiàng)目是大于等于的關(guān)系。建立解決方案后,會(huì)建立一個(gè)擴(kuò)展名為.sln的文件。
在解決方案里添加項(xiàng)目,不能再用“new”的方法,而是要在“File”菜單中,選擇“Add Project”。添加的項(xiàng)目,可以是新項(xiàng)目,也可以是已經(jīng)存在的項(xiàng)目。
程序集叫Assembly。學(xué)術(shù)的概念我不想提,通俗的角度來(lái)說(shuō),一個(gè)項(xiàng)目也就是一個(gè)程序集。從設(shè)計(jì)的角度來(lái)說(shuō),也可以看成是一個(gè)完整的模塊(Module),或者稱為是包(Package)。因此,一個(gè)程序集也可以體現(xiàn)為一個(gè)dll文件,或者exe文件。怎樣劃分程序集也是大有文章的,不過(guò)初學(xué)者暫時(shí)不用考慮它。
命名空間(namespace)是在C++里面就有的概念。引入它,主要是為了避免一個(gè)項(xiàng)目中,可能會(huì)存在的相同對(duì)象名的沖突。這個(gè)命名空間的定義,沒(méi)有特殊的要求。不過(guò)基本上來(lái)說(shuō),為了保證其唯一性,最好是用uri的格式,例如BruceZhang.com。這個(gè)命名空間有點(diǎn)像我們姓名中的姓,然后每個(gè)對(duì)象的名字則是姓名中的名。如果有重復(fù),再國(guó)外的命名中,還可以加上middle name。那么名都為勇的,由于姓氏不同也就分開(kāi)了,或者叫張勇,或者叫趙勇。當(dāng)然人的姓氏重復(fù)者居多,所以我們?yōu)槊臻g取名時(shí),盡可能的復(fù)雜一點(diǎn)。有許多初學(xué)者,常常把一個(gè)項(xiàng)目就理解為一個(gè)命名空間。其實(shí)這兩者沒(méi)有絕對(duì)的聯(lián)系,在項(xiàng)目里我們也可以定義很多不相同的命名空間。但為了用戶便于使用,最好在一個(gè)項(xiàng)目中,其命名空間最好是一體的層次結(jié)構(gòu)。在Visual Studio里,我們可以在項(xiàng)目中新建一個(gè)文件夾,默認(rèn)情況下,該文件夾下對(duì)象的命名空間,應(yīng)該是“項(xiàng)目的命名空間.文件夾名”。當(dāng)然,我們也可以在namespace中修改它。
命名空間和程序集名,都可以在Visual Studio中設(shè)置。用鼠標(biāo)右鍵單擊項(xiàng)目名,就可以彈出如下對(duì)話框:
在圖中,Assembly Name就是程序集名,如果經(jīng)過(guò)編譯,則為該項(xiàng)目的文件名。而Default Namespace則為默認(rèn)的命名空間。在開(kāi)發(fā)軟件時(shí),我們要養(yǎng)成良好的習(xí)慣,在建立新項(xiàng)目后,就將這些屬性設(shè)置好。一旦設(shè)置好了Default Namespace,則以后新建的對(duì)象,其命名空間即為該設(shè)定的值。至于程序集名,如果是dll文件,建議其名最好與Default Namespace一致。
實(shí)例演練:
(一)創(chuàng)建控制臺(tái)應(yīng)用程序“Hello World!”
1、打開(kāi)Visual Studio.Net,選擇“File”菜單的“new”,選擇“Project”;
2、選擇Visual C# Projects中的“Console Application”,如圖所示:
在Location中,定位你要保存的項(xiàng)目的路徑,而名字則為“FirstExample”。該名字此時(shí)既是解決方案的名字,同時(shí)也是該項(xiàng)目的名字。
3、用鼠標(biāo)右鍵單擊項(xiàng)目名,在彈出的對(duì)話框中,將Assembly Name命名為HelloWorld,將Default Namespace命名為:BruceZhang.com.FirstExample。
4、此時(shí)Visual Studio中已經(jīng)建立了一個(gè)文件,其名為Class1.cs(如果是Visual Studio 2005,則默認(rèn)為Program.cs);修改該文件的文件名為HelloWorld.cs,同時(shí)修改文件中的namespace,和類名,如下:
namespace BruceZhang.com.FirstExample { ///
5、注意在HelloWorld.cs中,有一個(gè)Main()方法。這是因?yàn)槲覀兘⒌氖强刂婆_(tái)應(yīng)用程序。在Main()方法中添加如下代碼:
Console.WriteLine(“Hello World!”);Console.Read();這里的Console是一個(gè)能對(duì)控制臺(tái)進(jìn)行操作的類。
6、運(yùn)行。
檢查保存項(xiàng)目的路徑文件夾FirstExample/bin/debug,已經(jīng)存在了一個(gè)HelloWorld.exe文件。
(二)為解決方案添加一個(gè)新項(xiàng)目
1、在“File”菜單中,選擇“Add Project”,添加“New Project”。在對(duì)話框中選擇“Class Library”,名字為Printer。至于保存路徑,可以放在之前建立的FirstExample文件夾下:
2、在Visual Studio右側(cè),可以看到現(xiàn)在有兩個(gè)項(xiàng)目了。仍然修改新項(xiàng)目的名稱和默認(rèn)命名空間名,均為BruceZhang.com.Printer。
3、將默認(rèn)建立的Class1.cs改名為MessagePrinter.cs,同時(shí)修改其代碼為: namespace BruceZhang.com.Printer { ///
4、編譯Printer項(xiàng)目。鼠標(biāo)右鍵單擊該項(xiàng)目名,在菜單中選擇“Build”。成功編譯后,找到文件夾Printer/bin/debug,可以發(fā)現(xiàn)有文件BruceZhang.com.Printer.dll,這就是最后形成的程序集文件。
5、關(guān)聯(lián)這兩個(gè)項(xiàng)目。我們希望是在FirstExample項(xiàng)目中用到Printer項(xiàng)目的Print()方法,前提是需要在FirstExample項(xiàng)目中添加對(duì)Printer項(xiàng)目的引用。右鍵單擊FirstExample項(xiàng)目的“Reference”,選擇“Add Reference”,在對(duì)話框中選擇“Project”標(biāo)簽,找到該項(xiàng)目并選中,最后如圖所示:
6、現(xiàn)在就可以在FirstExample項(xiàng)目中使用MessagePrinter了。首先,在命名空間中添加對(duì)它的使用(Using),然后再M(fèi)ain()方法中調(diào)用它,最后代碼如下:
using System;
using BruceZhang.com.Printer;namespace BruceZhang.com.FirstExample { ///
7、運(yùn)行。結(jié)果與前一個(gè)例子一樣。
在這個(gè)例子中,解決方案中就包含了兩個(gè)項(xiàng)目,一個(gè)是控制臺(tái)應(yīng)用程序,一個(gè)是類庫(kù)。類庫(kù)提供一些基本的功能,如例子中的Print()方法。我們常常把一些共用的方法,放到類庫(kù)中。這樣其他的應(yīng)用程序就可以去調(diào)用它。例如本例的控制臺(tái)應(yīng)用程序。如果新建的Windows應(yīng)用程序,也需要這個(gè)功能,就可以直接引用MessagePrinter的Print()方法,而不必重復(fù)去實(shí)現(xiàn)。
第二篇:上傳(圖解)解決方案、項(xiàng)目、程序集、命名空間
解決方案、項(xiàng)目、程序集、命名空間
一、解決方案、項(xiàng)目、程序集、命名空間
初學(xué)者很容易把這些概念搞混淆。先說(shuō)說(shuō)項(xiàng)目(Project),通俗的說(shuō),一個(gè)項(xiàng)目可以就是你開(kāi)發(fā)的一個(gè)軟件。在.Net下,一個(gè)項(xiàng)目可以表現(xiàn)為多種類型,如控制臺(tái)應(yīng)用程序,Windows應(yīng)用程序,類庫(kù)(Class Library),Web應(yīng)用程序,Web Service,Windows控件等等。如果經(jīng)過(guò)編譯,從擴(kuò)展名來(lái)看,應(yīng)用程序都會(huì)被編譯為.exe文件,而其余的會(huì)被編譯為.dll文件。既然是.exe文件,就表明它是可以被執(zhí)行的,表現(xiàn)在程序中,這些應(yīng)用程序都有一個(gè)主程序入口點(diǎn),即方法Main()。而類庫(kù),Windows控件等,則沒(méi)有這個(gè)入口點(diǎn),所以也不能直接執(zhí)行,而僅提供一些功能,給其他項(xiàng)目調(diào)用。
在Visual Studio.Net中,可以在“File”菜單中,選擇“new”一個(gè)“Project”,來(lái)創(chuàng)建一個(gè)新的項(xiàng)目。例如創(chuàng)建控制臺(tái)應(yīng)用程序。注意在此時(shí),Visual Studio除了建立了一個(gè)控制臺(tái)項(xiàng)目之外,該項(xiàng)目同時(shí)還屬于一個(gè)解決方案(Solution)。這個(gè)解決方案有什么用?如果你只需要開(kāi)發(fā)一個(gè)Hello World的項(xiàng)目,解決方案自然毫無(wú)用處。但是,一個(gè)稍微復(fù)雜一點(diǎn)的軟件,都需要很多模塊來(lái)組成,為了體現(xiàn)彼此之間的層次關(guān)系,利于程序的復(fù)用,往往需要多個(gè)項(xiàng)目,每個(gè)項(xiàng)目實(shí)現(xiàn)不同的功能,最后將這些項(xiàng)目組合起來(lái),就形成了一個(gè)完整的解決方案。形象地說(shuō),解決方案就是一個(gè)容器,在這個(gè)容器里,分成好多層,好多格,用來(lái)存放不同的項(xiàng)目。一個(gè)解決方案與項(xiàng)目是大于等于的關(guān)系。建立解決方案后,會(huì)建立一個(gè)擴(kuò)展名為.sln的文件。
在解決方案里添加項(xiàng)目,不能再用“new”的方法,而是要在“File”菜單中,選擇“Add Project”。添加的項(xiàng)目,可以是新項(xiàng)目,也可以是已經(jīng)存在的項(xiàng)目。程序集叫Assembly。學(xué)術(shù)的概念我不想提,通俗的角度來(lái)說(shuō),一個(gè)項(xiàng)目也就是一個(gè)程序集。從設(shè)計(jì)的角度來(lái)說(shuō),也可以看成是一個(gè)完整的模塊(Module),或者稱為是包(Package)。因此,一個(gè)程序集也可以體現(xiàn)為一個(gè)dll文件,或者exe文件。怎樣劃分程序集也是大有文章的,不過(guò)初學(xué)者暫時(shí)不用考慮它。命名空間(namespace)是在C++里面就有的概念。引入它,主要是為了避免一個(gè)項(xiàng)目中,可能會(huì)存在的相同對(duì)象名的沖突。這個(gè)命名空間的定義,沒(méi)有特殊的要求。不過(guò)基本上來(lái)說(shuō),為了保證其唯一性,最好是用uri的格式,例如BruceZhang.com。這個(gè)命名空間有點(diǎn)像我們姓名中的姓,然后每個(gè)對(duì)象的名字則是姓名中的名。如果有重復(fù),再國(guó)外的命名中,還可以加上middle name。那么名都為勇的,由于姓氏不同也就分開(kāi)了,或者叫張勇,或者叫趙勇。當(dāng)然人的姓氏重復(fù)者居多,所以我們?yōu)槊臻g取名時(shí),盡可能的復(fù)雜一點(diǎn)。
有許多初學(xué)者,常常把一個(gè)項(xiàng)目就理解為一個(gè)命名空間。其實(shí)這兩者沒(méi)有絕對(duì)的聯(lián)系,在項(xiàng)目里我們也可以定義很多不相同的命名空間。但為了用戶便于使用,最好在一個(gè)項(xiàng)目中,其命名空間最好是一體的層次結(jié)構(gòu)。在Visual Studio里,我們可以在項(xiàng)目中新建一個(gè)文件夾,默認(rèn)情況下,該文件夾下對(duì)象的命名空間,應(yīng)該是“項(xiàng)目的命名空間.文件夾名”。當(dāng)然,我們也可以在namespace中修改它。命名空間和程序集名,都可以在Visual Studio中設(shè)置。用鼠標(biāo)右鍵單擊項(xiàng)目名,就可以彈出如下對(duì)話框:
在圖中,Assembly Name就是程序集名,如果經(jīng)過(guò)編譯,則為該項(xiàng)目的文件名。而Default Namespace則為默認(rèn)的命名空間。在開(kāi)發(fā)軟件時(shí),我們要養(yǎng)成良好的習(xí)慣,在建立新項(xiàng)目后,就將這些屬性設(shè)置好。一旦設(shè)置好了Default Namespace,則以后新建的對(duì)象,其命名空間即為該設(shè)定的值。至于程序集名,如果是dll文件,建議其名最好與Default Namespace一致。
實(shí)例演練:
(一)創(chuàng)建控制臺(tái)應(yīng)用程序“Hello World!”
1、打開(kāi)Visual Studio.Net,選擇“File”菜單的“new”,選擇“Project”;
2、選擇Visual C# Projects中的“Console Application”,如圖所示:
在Location中,定位你要保存的項(xiàng)目的路徑,而名字則為“FirstExample”。該名字此時(shí)既是解決方案的名字,同時(shí)也是該項(xiàng)目的名字。
3、用鼠標(biāo)右鍵單擊項(xiàng)目名,在彈出的對(duì)話框中,將Assembly Name命名為HelloWorld,將Default Namespace命名為:BruceZhang.com.FirstExample。
4、此時(shí)Visual Studio中已經(jīng)建立了一個(gè)文件,其名為Class1.cs(如果是Visual Studio 2005,則默認(rèn)為Program.cs);修改該文件的文件名為HelloWorld.cs,同時(shí)修改文件中的namespace,和類名,如下: namespace BruceZhang.com.FirstExample { ///
5、注意在HelloWorld.cs中,有一個(gè)Main()方法。這是因?yàn)槲覀兘⒌氖强刂婆_(tái)應(yīng)用程序。在Main()方法中添加如下代碼: Console.WriteLine(“Hello World!”);Console.Read();這里的Console是一個(gè)能對(duì)控制臺(tái)進(jìn)行操作的類。
6、運(yùn)行。
檢查保存項(xiàng)目的路徑文件夾FirstExample/bin/debug,已經(jīng)存在了一個(gè)HelloWorld.exe文件。
(二)為解決方案添加一個(gè)新項(xiàng)目
1、在“File”菜單中,選擇“Add Project”,添加“New Project”。在對(duì)話框中選擇“Class Library”,名字為Printer。至于保存路徑,可以放在之前建立的FirstExample文件夾下:
2、在Visual Studio右側(cè),可以看到現(xiàn)在有兩個(gè)項(xiàng)目了。仍然修改新項(xiàng)目的名稱和默認(rèn)命名空間名,均為BruceZhang.com.Printer。
3、將默認(rèn)建立的Class1.cs改名為MessagePrinter.cs,同時(shí)修改其代碼為: namespace BruceZhang.com.Printer { ///
4、編譯Printer項(xiàng)目。鼠標(biāo)右鍵單擊該項(xiàng)目名,在菜單中選擇“Build”。成功編譯后,找到文件夾Printer/bin/debug,可以發(fā)現(xiàn)有文件BruceZhang.com.Printer.dll,這就是最后形成的程序集文件。
5、關(guān)聯(lián)這兩個(gè)項(xiàng)目。我們希望是在FirstExample項(xiàng)目中用到Printer項(xiàng)目的Print()方法,前提是需要在FirstExample項(xiàng)目中添加對(duì)Printer項(xiàng)目的引用。右鍵單擊FirstExample項(xiàng)目的“Reference”,選擇“Add Reference”,在對(duì)話框中選擇“Project”標(biāo)簽,找到該項(xiàng)目并選中,最后如圖所示:
6、現(xiàn)在就可以在FirstExample項(xiàng)目中使用MessagePrinter了。首先,在命名空間中添加對(duì)它的使用(Using),然后再M(fèi)ain()方法中調(diào)用它,最后代碼如下: using System;using BruceZhang.com.Printer;namespace BruceZhang.com.FirstExample { ///
7、運(yùn)行。結(jié)果與前一個(gè)例子一樣。
在這個(gè)例子中,解決方案中就包含了兩個(gè)項(xiàng)目,一個(gè)是控制臺(tái)應(yīng)用程序,一個(gè)是類庫(kù)。類庫(kù)提供一些基本的功能,如例子中的Print()方法。我們常常把一些共用的方法,放到類庫(kù)中。這樣其他的應(yīng)用程序就可以去調(diào)用它。例如本例的控制臺(tái)應(yīng)用程序。如果新建的Windows應(yīng)用程序,也需要這個(gè)功能,就可以直接引用MessagePrinter的Print()方法,而不必重復(fù)去實(shí)現(xiàn)。
第三篇:.Net常用命名空間和類介紹.doc
.Net常用命名空間和類介紹
一、基礎(chǔ)命名空間 ? System.Collections 包含了一些與集合相關(guān)的類型,比如列表,隊(duì)列,位數(shù)組,哈希表和字典等.? System.IO 包含了一些數(shù)據(jù)流類型并提供了文件和目錄同步異步讀寫(xiě).? System.Text 包含了一些表示字符編碼的類型并提供了字符串的操作和格式化 ? System.Reflection 包括了一些提供加載類型,方法和字段的托管視圖以及動(dòng)態(tài)創(chuàng)建和調(diào)用類 型功能的類型.? System.Threading 提供啟用多線程的類和接口.二、圖形命名空間 ? System.Drawing 這個(gè)主要的GDI+命名空間定義了許多類型,實(shí)現(xiàn)基本的繪圖類型(字體,鋼筆,基本畫(huà)筆等)和無(wú)所不能的Graphics對(duì)象. ? System.Drawing2D 這個(gè)命名空間提供高級(jí)的二維和失量圖像功能. ? System.Drawing.Imaging 這個(gè)命名空間定義了一些類型實(shí)現(xiàn)圖形圖像的操作. ? System.Drawing.Text 這個(gè)命名空間提供了操作字體集合的功能. ? System.Drawing.Printing 這個(gè)命名空間定義了一些類型實(shí)現(xiàn)在打印紙上繪制圖像,和打印機(jī)交互以及格式化某個(gè)打印任務(wù)的總體外觀等功能.
三、數(shù)據(jù)命名空間 ? System.Data 包含了數(shù)據(jù)訪問(wèn)使用的一些主要類型. ? System.Data.Common 包含了各種數(shù)據(jù)庫(kù)訪問(wèn)共享的一些類型. ? System.XML 包含了根據(jù)標(biāo)準(zhǔn)來(lái)支持XML處理的類. ? System.Data.OleDb 包含了一些操作OLEDB數(shù)據(jù)源的類型. ? System.Data.Sql 能使你枚舉安裝在當(dāng)前本地網(wǎng)絡(luò)的SQL Server實(shí)例. ? System.Data.SqlClient 包含了一些操作MS SQL Server數(shù)據(jù)庫(kù)的類型,提供了和 System.Data.OleDb相似的功能,但是針對(duì)SQL做了優(yōu)化. ? System.Data.SqlTypes 提供了一些表示SQL數(shù)據(jù)類型的類. ? System.Data.Odbc 包含了操作Odbc數(shù)據(jù)源的類型. ? System.Data.OracleClient 包含了操作Odbc數(shù)據(jù)庫(kù)的類型. ? System.Transactions 這個(gè)命名空間提供了編寫(xiě)事務(wù)性應(yīng)用程序和資源管理器的一些類.
四、WEB命名空間 ? System.Web 這個(gè)命名空間包含啟用瀏覽器/服務(wù)器通信的類和接口.這些命名空間類用于管 理到客戶端的HTTP輸出和讀取HTTP請(qǐng)求.附加的類則提供了一些功能,用于服 務(wù)器端的應(yīng)用程序以及進(jìn)程,Cookie管理,文件傳輸,異常信息和輸出緩存的控制.? System.Web.UI 這個(gè)命名空間包含Web窗體的類,包括Page類和用于創(chuàng)建Web用戶界面的其 他標(biāo)準(zhǔn)類.? System.Web.UI.HtmlControls 這個(gè)命名空間包含用于HTML特定控件的類,這些控件可以添加到Web窗體中 以創(chuàng)建Web用戶界面
? System.Web.UI.WebControls 包含創(chuàng)建ASP.NET服務(wù)器控件的類,當(dāng)添加到窗體時(shí),這些控件將呈現(xiàn)瀏覽器特 定的HTML和腳本,用于創(chuàng)建和設(shè)備無(wú)關(guān)的Web用戶界面.? System.Web.Mobile 包含生成ASP.NET移動(dòng)應(yīng)用程序所需要的核心功能,包括身份驗(yàn)證和錯(cuò)誤處理.? System.Web.UI.MobileControls 包括一組ASP.NET服務(wù)器控件,這些控件可以針對(duì)不同的移動(dòng)設(shè)備呈現(xiàn)應(yīng)用程 序.? System.Web.Services 包含能使你使用和生成XML Web Service的類,這些服務(wù)是駐留在服務(wù)器中的 可編程實(shí)體,并通過(guò)標(biāo)準(zhǔn)Internet協(xié)議公開(kāi).五、框架服務(wù)命名空間 ? System.Diagnostics 這個(gè)命名空間所提供的類允許你啟動(dòng)系統(tǒng)進(jìn)程,讀取和寫(xiě)入事件日志以及使用性 能計(jì)數(shù)器監(jiān)視系統(tǒng)性能.? System.DirectoryServices 這個(gè)命名空間所提供的類可便于從托管代碼中訪問(wèn)Active Directory.此命名空 間中的類可以與任何Active Directory服務(wù)提供程序一起使用.? System.Media 包含用于播放聲音文件和訪問(wèn)系統(tǒng)提供的聲音的類.? System.Management 這個(gè)命名空間提供的類用于管理一些信息和事件,它們關(guān)系到系統(tǒng),設(shè)備和WMI 基礎(chǔ)結(jié)構(gòu)所使用的應(yīng)用程序.? System.Messaging 這個(gè)命名空間提供的類用于連接到網(wǎng)絡(luò)上的消息隊(duì)列,向隊(duì)列發(fā)送消息,從隊(duì)列 接收或查看消息.? System.ServiceProcess 這個(gè)命名空間提供的類用于安裝和運(yùn)行服務(wù),服務(wù)是長(zhǎng)期運(yùn)行的可執(zhí)行文件,它 們不通過(guò)用戶界面來(lái)運(yùn)行.? System.Timers 這個(gè)命名空間提供基于服務(wù)器的計(jì)時(shí)器組件,用以按指定的間隔引發(fā)事件.六、安全性命名空間 ? System.Security 這個(gè)命名空間提供公共語(yǔ)言運(yùn)行庫(kù)安全性系統(tǒng)的基礎(chǔ)結(jié)構(gòu).? System.Net.Security 這個(gè)命名空間提供用于主機(jī)間安全通信的網(wǎng)絡(luò)流.? System.Web.Security 這個(gè)命名空間包含的類用于在Web應(yīng)用程序中實(shí)現(xiàn)ASP.NET安全性.七、網(wǎng)絡(luò)命名空間 ? System.Net 包含的類可為當(dāng)前網(wǎng)絡(luò)上的多種協(xié)議提供簡(jiǎn)單的編程接口.? System.Net.Cache 這個(gè)命名空間定義了一些類和枚舉,用于為使用WebRequest和HttpWebRequest類獲取的資源定義緩存策略.? System.Net.Configuration 這個(gè)命名空間包含了以編程方式訪問(wèn)和更新System.Net命名空間的配置設(shè)置的類.? System.Net.Mime 這個(gè)命名空間包含了用于將電子郵件發(fā)送到SMTP服務(wù)器進(jìn)行傳送的類.? System.Net.Networkinformation 這個(gè)命名空間提供對(duì)網(wǎng)絡(luò)流量數(shù)據(jù),網(wǎng)絡(luò)地址信息和本地計(jì)算機(jī)的地址更改通知 的訪問(wèn),還包含實(shí)現(xiàn)Ping實(shí)用工具的類.你可以使用Ping和相關(guān)的類來(lái)檢查是否
可通過(guò)網(wǎng)絡(luò)訪問(wèn)某臺(tái)計(jì)算機(jī).? System.Net.Sockets 這個(gè)命名空間為嚴(yán)格控制網(wǎng)絡(luò)訪問(wèn)的開(kāi)發(fā)人員提供Windows套接字接口的托 管實(shí)現(xiàn)
八、配置命名空間
? System.Configuration 這個(gè)命名空間包含用于以編程方式訪問(wèn).Net Framework配置設(shè)置并處理配置 文件中錯(cuò)誤的類.? System.Configuration.Assemblies 這個(gè)命名空間包含用于配置程序集的類.? System.Configuration.Provider 這個(gè)命名空間包含由服務(wù)器和客戶端應(yīng)用程序共享,以支持可插接式模型輕松添 加或移除功能的基類.九、本地化命名空間 ? System.Globalization 包含的類定義與區(qū)域性相關(guān)的信息,其中包括語(yǔ)言,國(guó)家地區(qū),所使用的日歷,日期 格式的模式,貨幣與數(shù)字以及字符串的排序順序.? System.Resources 這個(gè)命名空間提供一些類和接口,它們使開(kāi)發(fā)人員得以創(chuàng)建,存儲(chǔ)并管理應(yīng)用程序中使用的各種區(qū)域性特定資源.? System.Resources.Tools 這個(gè)命名空間包含StronglyTypedResourceBuilder類,該類提供對(duì)強(qiáng)類型資源 的支持.這個(gè)編譯時(shí)功能通過(guò)創(chuàng)建包含一組靜態(tài)只讀屬性的類封裝對(duì)資源的訪問(wèn), 從而使得使用資源變得更加容易
第四篇:C# System命名空間簡(jiǎn)介
System 命名空間 類
Activator 包含特定的方法,用以在本地或從遠(yuǎn)程創(chuàng)建對(duì)象類型,或獲取對(duì)現(xiàn)有遠(yuǎn)程對(duì)象的引用。
AppDomain 表示應(yīng)用程序域,它是一個(gè)應(yīng)用程序在其中執(zhí)行的獨(dú)立環(huán)境。不能繼承此類。AppDomainSetup 表示可以添加到 AppDomain 的實(shí)例的程序集綁定信息。
AppDomainUnloadedException 在嘗試訪問(wèn)已卸載的應(yīng)用程序域時(shí)引發(fā)的異常。ApplicationException 發(fā)生非致命應(yīng)用程序錯(cuò)誤時(shí)引發(fā)的異常。ArgumentException 在向方法提供的其中一個(gè)參數(shù)無(wú)效時(shí)引發(fā)的異常。
ArgumentNullException 當(dāng)將空引用(在 Visual Basic 中為 Nothing)傳遞給不接受它作為有效參數(shù)的方法時(shí)引發(fā)的異常。
ArgumentOutOfRangeException 當(dāng)參數(shù)值超出調(diào)用的方法所定義的允許取值范圍時(shí)引發(fā)的異常。
ArithmeticException 因算術(shù)運(yùn)算、類型轉(zhuǎn)換或轉(zhuǎn)換操作中的錯(cuò)誤而引發(fā)的異常。
Array 提供創(chuàng)建、操作、搜索和排序數(shù)組的方法,因而在公共語(yǔ)言運(yùn)行庫(kù)中用作所有數(shù)組的基類。
ArrayTypeMismatchException 當(dāng)試圖在數(shù)組中存儲(chǔ)類型不正確的元素時(shí)引發(fā)的異常。AssemblyLoadEventArgs 為 AssemblyLoad 事件提供數(shù)據(jù)。Attribute 自定義屬性的基類。
AttributeUsageAttribute 指定另一特性類的用法。無(wú)法繼承此類。
BadImageFormatException 當(dāng) DLL 或可執(zhí)行程序的文件圖像無(wú)效時(shí)引發(fā)的異常。BitConverter 將基礎(chǔ)數(shù)據(jù)類型與字節(jié)數(shù)組相互轉(zhuǎn)換。Buffer 操作基元類型的數(shù)組。
CannotUnloadAppDomainException 卸載應(yīng)用程序域的嘗試失敗時(shí)引發(fā)的異常。CharEnumerator 支持循環(huán)訪問(wèn) String 并讀取它的各個(gè)字符。
CLSCompliantAttribute 指示程序元素是否符合公共語(yǔ)言規(guī)范(CLS)。無(wú)法繼承此類。Console 表示控制臺(tái)應(yīng)用程序的標(biāo)準(zhǔn)輸入流、輸出流和錯(cuò)誤流。無(wú)法繼承此類。ContextBoundObject 定義所有上下文綁定類的基類。
ContextMarshalException 在嘗試將對(duì)象封送過(guò)上下文邊界失敗時(shí)引發(fā)的異常。ContextStaticAttribute 指示靜態(tài)字段的值是特定上下文的唯一值。Convert 將一個(gè)基本數(shù)據(jù)類型轉(zhuǎn)換為另一個(gè)基本數(shù)據(jù)類型。DBNull 表示空值。Delegate 表示委托,委托是一種數(shù)據(jù)結(jié)構(gòu),它引用靜態(tài)方法或引用類實(shí)例及該類的實(shí)例方法。DivideByZeroException 試圖用零除整數(shù)值或十進(jìn)制數(shù)值時(shí)引發(fā)的異常。
DllNotFoundException 當(dāng)未找到在 DLL 導(dǎo)入中指定的 DLL 時(shí)所引發(fā)的異常。
DuplicateWaitObjectException 當(dāng)對(duì)象在同步對(duì)象數(shù)組中不止一次出現(xiàn)時(shí)引發(fā)的異常。EntryPointNotFoundException 因不存在項(xiàng)方法而導(dǎo)致加載類的嘗試失敗時(shí)引發(fā)的異常。Enum 為枚舉提供基類。
Environment 提供有關(guān)當(dāng)前環(huán)境和平臺(tái)的信息以及操作它們的方法。不能繼承此類。EventArgs EventArgs 是包含事件數(shù)據(jù)的類的基類。Exception 表示在應(yīng)用程序執(zhí)行期間發(fā)生的錯(cuò)誤。
ExecutionEngineException 當(dāng)公共語(yǔ)言運(yùn)行庫(kù)的執(zhí)行引擎中發(fā)生內(nèi)部錯(cuò)誤時(shí)引發(fā)的異常。無(wú)法繼承此類。
FieldAccessException 當(dāng)試圖非法訪問(wèn)類中的私有字段或受保護(hù)字段時(shí)引發(fā)的異常。FlagsAttribute 指示可以將枚舉作為位域(即一組標(biāo)志)處理。
FormatException 當(dāng)參數(shù)格式不符合調(diào)用的方法的參數(shù)規(guī)范時(shí)引發(fā)的異常。GC 控制系統(tǒng)垃圾回收器(一種自動(dòng)回收未使用內(nèi)存的服務(wù))。
IndexOutOfRangeException 試圖訪問(wèn)索引超出數(shù)組界限的數(shù)組元素時(shí)引發(fā)的異常。無(wú)法繼承此類。
InvalidCastException 因無(wú)效類型轉(zhuǎn)換或顯式轉(zhuǎn)換引發(fā)的異常。
InvalidOperationException 當(dāng)方法調(diào)用對(duì)于對(duì)象的當(dāng)前狀態(tài)無(wú)效時(shí)引發(fā)的異常。
InvalidProgramException 當(dāng)程序包含無(wú)效 Microsoft 中間語(yǔ)言(MSIL)或元數(shù)據(jù)時(shí)將引發(fā)的異常。通常這表示編譯器中出現(xiàn)錯(cuò)誤。
LoaderOptimizationAttribute 用于為可執(zhí)行應(yīng)用程序的主方法設(shè)置默認(rèn)的加載程序優(yōu)化策略。LocalDataStoreSlot 封裝內(nèi)存槽以存儲(chǔ)本地?cái)?shù)據(jù)。無(wú)法繼承此類。
MarshalByRefObject 允許在支持遠(yuǎn)程處理的應(yīng)用程序中跨應(yīng)用程序域邊界訪問(wèn)對(duì)象。Math 為三角函數(shù)、對(duì)數(shù)函數(shù)和其他通用數(shù)學(xué)函數(shù)提供常數(shù)和靜態(tài)方法。MemberAccessException 訪問(wèn)類成員的嘗試失敗時(shí)引發(fā)的異常。
MethodAccessException非法嘗試訪問(wèn)類中的私有方法或受保護(hù)的方法時(shí)引發(fā)的異常。MissingFieldException 試圖動(dòng)態(tài)訪問(wèn)不存在的字段時(shí)引發(fā)的異常。
MissingMemberException 試圖動(dòng)態(tài)訪問(wèn)不存在的類成員時(shí)引發(fā)的異常。MissingMethodException 試圖動(dòng)態(tài)訪問(wèn)不存在的方法時(shí)引發(fā)的異常。
MTAThreadAttribute 指示應(yīng)用程序的 COM 線程模型為多線程單元(MTA)。
MulticastDelegate 表示多路廣播委托;即,其調(diào)用列表中可以擁有多個(gè)元素的委托。
MulticastNotSupportedException 當(dāng)試圖合并不可合并的委托類型的兩個(gè)實(shí)例時(shí)引發(fā)的異常,除非操作數(shù)中有一個(gè)是空引用(在 Visual Basic 中為 Nothing)。無(wú)法繼承此類。NonSerializedAttribute 指示可序列化類的某個(gè)字段不應(yīng)被序列化。無(wú)法繼承此類。
NotFiniteNumberException 當(dāng)浮點(diǎn)值為正無(wú)窮大、負(fù)無(wú)窮大或非數(shù)字(NaN)時(shí)引發(fā)的異常。
NotImplementedException 在無(wú)法實(shí)現(xiàn)請(qǐng)求的方法或操作時(shí)引發(fā)的異常。NotSupportedException 當(dāng)調(diào)用的方法不受支持,或試圖讀取、查找或?qū)懭氩恢С终{(diào)用功能的流時(shí)引發(fā)的異常。
NullReferenceException 嘗試取消引用空對(duì)象引用時(shí)引發(fā)的異常。
Object 支持.NET Framework 類層次結(jié)構(gòu)中的所有類,并為派生類提供低級(jí)別服務(wù)。這是.NET Framework 中所有類的最終基類;它是類型層次結(jié)構(gòu)的根。ObjectDisposedException 對(duì)已處置的對(duì)象執(zhí)行操作時(shí)所引發(fā)的異常。ObsoleteAttribute 標(biāo)記不再使用的程序元素。無(wú)法繼承此類。
OperatingSystem 表示有關(guān)操作系統(tǒng)的信息,如版本和平臺(tái)標(biāo)識(shí)符。OutOfMemoryException 沒(méi)有足夠的內(nèi)存繼續(xù)執(zhí)行程序時(shí)引發(fā)的異常。OverflowException 在選中的上下文中所進(jìn)行的算術(shù)運(yùn)算、類型轉(zhuǎn)換或轉(zhuǎn)換操作導(dǎo)致溢出時(shí)引發(fā)的異常。
ParamArrayAttribute 指示方法在調(diào)用中將允許參數(shù)的數(shù)目可變。無(wú)法繼承此類。PlatformNotSupportedException 當(dāng)功能未在特定平臺(tái)上運(yùn)行時(shí)所引發(fā)的異常。
Random 表示偽隨機(jī)數(shù)生成器,一種能夠產(chǎn)生滿足某些隨機(jī)性統(tǒng)計(jì)要求的數(shù)字序列的設(shè)備。RankException 將維數(shù)錯(cuò)誤的數(shù)組傳遞給方法時(shí)引發(fā)的異常。
ResolveEventArgs 為 TypeResolve、ResourceResolve 和 AssemblyResolve 事件提供數(shù)據(jù)。SerializableAttribute 指示一個(gè)類可以序列化。無(wú)法繼承此類。StackOverflowException 掛起的方法調(diào)用過(guò)多而導(dǎo)致執(zhí)行堆棧溢出時(shí)引發(fā)的異常。無(wú)法繼承此類。
STAThreadAttribute 指示應(yīng)用程序的 COM 線程模型是單線程單元(STA)。String 表示文本,即一連串 Unicode 字符。
SystemException 為 System 命名空間中的預(yù)定義異常定義基類。ThreadStaticAttribute 指示靜態(tài)字段的值對(duì)于每個(gè)線程都是唯一的。TimeZone 表示時(shí)區(qū)。Type 表示類型聲明:類類型、接口類型、數(shù)組類型、值類型和枚舉類型。
TypeInitializationException 作為由類初始值設(shè)定項(xiàng)引發(fā)的異常周?chē)陌b引發(fā)的異常。無(wú)法繼承此類。
TypeLoadException 類型加載失敗發(fā)生時(shí)引發(fā)的異常。TypeUnloadedException 試圖訪問(wèn)已卸載的類時(shí)引發(fā)的異常。
UnauthorizedAccessException 當(dāng)操作系統(tǒng)因 I/O 錯(cuò)誤或指定類型的安全錯(cuò)誤而拒絕訪問(wèn)時(shí)所引發(fā)的異常。
UnhandledExceptionEventArgs 為以下情況下引發(fā)的事件提供數(shù)據(jù):存在一個(gè)不是由應(yīng)用程序域處理的異常。
Uri 提供統(tǒng)一資源標(biāo)識(shí)符(URI)的對(duì)象表示形式和對(duì) URI 各部分的輕松訪問(wèn)。
UriBuilder 為統(tǒng)一資源標(biāo)識(shí)符(URI)提供自定義構(gòu)造函數(shù),并修改 Uri 類的 URI。UriFormatException 當(dāng)檢測(cè)到無(wú)效的統(tǒng)一資源標(biāo)識(shí)符(URI)時(shí)引發(fā)的異常。ValueType 提供值類型的基類。
Version 表示公共語(yǔ)言運(yùn)行庫(kù)程序集的版本號(hào)。無(wú)法繼承此類。WeakReference 表示“弱引用”,即在引用對(duì)象的同時(shí)仍然允許對(duì)該對(duì)象進(jìn)行垃圾回收。接口
IAppDomainSetup 表示可以添加到 AppDomain 的實(shí)例的程序集綁定信息。IAsyncResult 表示異步操作的狀態(tài)。
ICloneable 支持克隆,即用與現(xiàn)有實(shí)例相同的值創(chuàng)建類的新實(shí)例。
IComparable 定義通用的比較方法,由值類型或類實(shí)現(xiàn)以創(chuàng)建類型特定的比較方法。IConvertible 定義特定的方法,這些方法將實(shí)現(xiàn)引用或值類型的值轉(zhuǎn)換為具有等效值的公共語(yǔ)言運(yùn)行庫(kù)類型。
ICustomFormatter 定義一種方法,它支持對(duì)象值的自定義(用戶定義)格式設(shè)置。IDisposable 定義一種釋放分配的非托管資源的方法。IFormatProvider 提供用于檢索控制格式化的對(duì)象的機(jī)制。IFormattable 提供將對(duì)象的值格式化為字符串表示形式的功能。IServiceProvider 定義一種檢索服務(wù)對(duì)象的機(jī)制,服務(wù)對(duì)象是為其他對(duì)象提供自定義支持的對(duì)象。
_AppDomain 表示應(yīng)用程序域,它是一個(gè)應(yīng)用程序在其中執(zhí)行的獨(dú)立環(huán)境。結(jié)構(gòu)
ArgIterator 表示變長(zhǎng)參數(shù)列表;即采用可變數(shù)量的參數(shù)的函數(shù)的參數(shù)。Boolean 表示布爾值。
Byte 表示一個(gè) 8 位無(wú)符號(hào)整數(shù)。Char 表示一個(gè) Unicode 字符。DateTime 表示時(shí)間上的一刻,通常以日期和當(dāng)天的時(shí)間表示。Decimal 表示十進(jìn)制數(shù)。
Double 表示一個(gè)雙精度浮點(diǎn)數(shù)字。Guid 表示全局唯一標(biāo)識(shí)符(GUID)。Int16 表示 16 位有符號(hào)的整數(shù)。Int32 表示 32 位有符號(hào)的整數(shù)。Int64 表示 64 位有符號(hào)的整數(shù)。
IntPtr 用于表示指針或句柄的平臺(tái)特定類型。RuntimeArgumentHandle 引用變長(zhǎng)參數(shù)列表。
RuntimeFieldHandle 使用內(nèi)部元數(shù)據(jù)標(biāo)記表示一個(gè)字段。
RuntimeMethodHandle RuntimeMethodHandle 是方法的內(nèi)部元數(shù)據(jù)表示形式的句柄。RuntimeTypeHandle 表示使用內(nèi)部元數(shù)據(jù)標(biāo)記的類型。SByte 表示 8 位有符號(hào)整數(shù)。Single 表示一個(gè)單精度浮點(diǎn)數(shù)字。TimeSpan 表示一個(gè)時(shí)間間隔。
TypedReference 描述既包含指向某位置的托管指針,也包含該位置可能存儲(chǔ)的類型的運(yùn)行時(shí)表示形式的對(duì)象。
UInt16 表示 16 位無(wú)符號(hào)整數(shù)。UInt32 表示 32 位無(wú)符號(hào)整數(shù)。UInt64 表示 64 位無(wú)符號(hào)整數(shù)。
UIntPtr 用于表示指針或句柄的平臺(tái)特定類型。
Void 指示不返回值的方法,即具有 void 返回類型的方法。委托
AssemblyLoadEventHandler 表示處理 AppDomain 的 AssemblyLoad 事件的方法。AsyncCallback 引用在異步操作完成時(shí)調(diào)用的回調(diào)方法。
CrossAppDomainDelegate 由 DoCallBack 使用,用于跨應(yīng)用程序域的調(diào)用。EventHandler 表示將處理不包含事件數(shù)據(jù)的事件的方法。
ResolveEventHandler 表示處理 AppDomain 的 TypeResolve、ResourceResolve 和 AssemblyResolve 事件的方法。
UnhandledExceptionEventHandler表示將處理事件的方法,該事件由應(yīng)用程序域不處理的異常引發(fā)。枚舉
AttributeTargets 指定可以對(duì)它們應(yīng)用特性的應(yīng)用程序元素。DayOfWeek 指定一周的某天。
Environment.SpecialFolder 指定用于檢索系統(tǒng)特殊文件夾的目錄路徑的枚舉常數(shù)。LoaderOptimization 一個(gè)枚舉,它與 LoaderOptimizationAttribute 類一起使用為可執(zhí)行文件指定加載程序優(yōu)化。
PlatformID 描述程序集所支持的平臺(tái)。TypeCode 指定對(duì)象的類型。
UriHostNameType 為 Uri.CheckHostName 方法定義主機(jī)名類型。UriPartial 為 Uri.GetLeftPart 方法定義 URI 的各部分。
第五篇:使用DFS創(chuàng)建命名空間
使用DFS創(chuàng)建命名空間
如果想把零散的共享資源組織起來(lái),可以使用DFS創(chuàng)建命名空間。以下是win7之家所介紹的建命名空間的步驟。
步驟1:打開(kāi)【DFS管理】窗口,右擊【命名空間】結(jié)點(diǎn),執(zhí)行【新建命名空間】命令,如下圖所示。
新建命名空間
步驟2:windows7系統(tǒng)下載彈出【新建命名空間向?qū)А繉?duì)話框,根據(jù)向?qū)崾咎顚?xiě)相關(guān)的信息,即可順利地新建命名空間。