国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C#之回到了最初的起點----解決方案、項目、程序集、命名空間

2019-11-14 13:58:08
字體:
來源:轉載
供稿:網友

 

C#之回到了最初的起點----解決方案、項目、程序集、命名空間

——Percy

  初學者很容易把這些概念搞混淆。先說說項目(PRoject),通俗的說,一個項目可以就是你開發的一個軟件。在.Net下,一個項目可以表現為多種類型,如控制臺應用程序,Windows應用程序,類庫(Class Library),Web應用程序,Web Service,Windows控件等等。如果經過編譯,從擴展名來看,應用程序都會被編譯為.exe文件,而其余的會被編譯為.dll文件。既然是.exe文件,就表明它是可以被執行的,表現在程序中,這些應用程序都有一個主程序入口點,即方法Main()。而類庫,Windows控件等,則沒有這個入口點,所以也不能直接執行,而僅提供一些功能,給其他項目調用。

 

  在Visual Studio.Net中,可以在“File”菜單中,選擇“new”一個“Project”,來創建一個新的項目。例如創建控制臺應用程序。注意在此時,Visual Studio除了建立了一個控制臺項目之外,該項目同時還屬于一個解決方案(Solution)。這個解決方案有什么用?如果你只需要開發一個Hello World的項目,解決方案自然毫無用處。但是,一個稍微復雜一點的軟件,都需要很多模塊來組成,為了體現彼此之間的層次關系,利于程序的復用,往往需要多個項目,每個項目實現不同的功能,最后將這些項目組合起來,就形成了一個完整的解決方案。形象地說,解決方案就是一個容器,在這個容器里,分成好多層,好多格,用來存放不同的項目。一個解決方案與項目是大于等于的關系。建立解決方案后,會建立一個擴展名為.sln的文件。

  在解決方案里添加項目,不能再用“new”的方法,而是要在“File”菜單中,選擇“Add Project”。添加的項目,可以是新項目,也可以是已經存在的項目。

  程序集叫Assembly。學術的概念我不想提,通俗的角度來說,一個項目也就是一個程序集。從設計的角度來說,也可以看成是一個完整的模塊(Module),或者稱為是包(Package)。因此,一個程序集也可以體現為一個dll文件,或者exe文件。怎樣劃分程序集也是大有文章的,不過初學者暫時不用考慮它。

  命名空間(namespace)是在C++里面就有的概念。引入它,主要是為了避免一個項目中,可能會存在的相同對象名的沖突。這個命名空間的定義,沒有特殊的要求。不過基本上來說,為了保證其唯一性,最好是用uri的格式,例如BruceZhang.com。這個命名空間有點像我們姓名中的姓,然后每個對象的名字則是姓名中的名。如果有重復,再國外的命名中,還可以加上middle name。那么名都為勇的,由于姓氏不同也就分開了,或者叫張勇,或者叫趙勇。當然人的姓氏重復者居多,所以我們為命名空間取名時,盡可能的復雜一點。

有許多初學者,常常把一個項目就理解為一個命名空間。其實這兩者沒有絕對的聯系,在項目里我們也可以定義很多不相同的命名空間。但為了用戶便于使用,最好在一個項目中,其命名空間最好是一體的層次結構。在Visual Studio里,我們可以在項目中新建一個文件夾,默認情況下,該文件夾下對象的命名空間,應該是“項目的命名空間.文件夾名”。當然,我們也可以在namespace中修改它。

  命名空間和程序集名,都可以在Visual Studio中設置。用鼠標右鍵單擊項目名,然后選擇屬性,就可以彈出如下對話框:
 




  在圖中,Assembly Name就是程序集名,如果經過編譯,則為該項目的文件名。而Default Namespace則為默認的命名空間。在開發軟件時,我們要養成良好的習慣,在建立新項目后,就將這些屬性設置好。一旦設置好了Default Namespace,則以后新建的對象,其命名空間即為該設定的值。至于程序集名,如果是dll文件,建議其名最好與Default Namespace一致。

版權聲明:本文為博主原創文章,歡迎轉載,轉載請注明出處。

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 电白县| 大姚县| 普宁市| 丹寨县| 电白县| 筠连县| 石嘴山市| 平顺县| 灵丘县| 云林县| 蕉岭县| 龙海市| 玉田县| 芦山县| 三原县| 三门县| 出国| 石首市| 博乐市| 周宁县| 昌邑市| 尉犁县| 麦盖提县| 云南省| 普定县| 皮山县| 梓潼县| 彝良县| 工布江达县| 许昌县| 商水县| 定南县| 金平| 枣阳市| 探索| 夏邑县| 巫溪县| 区。| 阿尔山市| 乌兰浩特市| 钦州市|