代碼組織與管理_第1頁(yè)
代碼組織與管理_第2頁(yè)
代碼組織與管理_第3頁(yè)
代碼組織與管理_第4頁(yè)
代碼組織與管理_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

C#語(yǔ)言程序設(shè)計(jì)李朔@數(shù)信學(xué)院Email:chn.nj.ls@C#語(yǔ)言程序設(shè)計(jì)基礎(chǔ)

代碼組織與管理分部類型代碼中的預(yù)處理器指令

XML代碼注釋分部/局部類型(partial)C#2.0引入局部類型概念partialpartial關(guān)鍵字修飾的類(class)、結(jié)構(gòu)體(struct)或接口(interface)可以寫成幾個(gè)代碼片段,而這些片段又可以存放在不同的源文件(.cs)中partial修飾符只能出現(xiàn)在緊靠關(guān)鍵字class、struct

或interface前面的位置局部類型是一個(gè)純語(yǔ)言層的編譯處理,不影響任何執(zhí)行機(jī)制事實(shí)上c#編譯器在編譯的時(shí)候仍會(huì)將各個(gè)部分的局部類型合并成一個(gè)完整的類。如下例編譯后它相當(dāng)于

局部類型適用于以下情況類型特別大,不宜放在一個(gè)文件中實(shí)現(xiàn)。一個(gè)類型中的一部分代碼為自動(dòng)化工具生成的代碼,不宜與我們自己編寫的代碼混合在一起。需要多人合作編寫一個(gè)類。將一個(gè)類型中穩(wěn)定的代碼與需要經(jīng)常修改的代碼部分合理劃分開(kāi)局部類型的限制局部類型只適用于類、接口、結(jié)構(gòu),不支持委托和枚舉。同一個(gè)類型的各個(gè)部分必須都有修飾符partial

各部分使用的訪問(wèn)修飾符應(yīng)當(dāng)相同,如public、private等各部分不能包含重復(fù)的成員定義,除非該成員屬于嵌套的分部類型各部分不能定義不同的基類使用局部類型時(shí),一個(gè)類型的各個(gè)部分必須位于相同的命名空間中。否則就被認(rèn)為是不同程序集中的不同類型。abstract:如果將任意部分類聲明為抽象的,則整個(gè)類型都被視為抽象的P411Sealed:如果將任意部分類聲明為密封的,則整個(gè)類型都被視為密封的Static:如果將任意部分類聲明為靜態(tài)的,則整個(gè)類型都被視為靜態(tài)的查找程序錯(cuò)誤分部類型是一個(gè)整體:各部分所分布的各個(gè)源文件必須在一起編譯,而不能先編譯幾個(gè)部分,后來(lái)再引用新增加的部分在某一分部定義中聲明的任何類、結(jié)構(gòu)或接口成員可供所有其他部分使用各個(gè)部分可以指定不同的基接口,最終類型將實(shí)現(xiàn)所有分部聲明所列出的全部接口P411泛形也可以采用分部類型定義方式,其類型參數(shù)有下列限制:類名和泛型類型參數(shù)在所有的分部類型定義中都必須匹配——泛型的類型參數(shù)在每個(gè)部分都需要進(jìn)行聲明,而且數(shù)量和名稱必須完全相同(相同順序,相同名稱)如果在某部分進(jìn)行了類型限制,就是對(duì)整個(gè)泛型的限制若多個(gè)部分都進(jìn)行了類型限制,這些限制必須相同代碼中的預(yù)處理器指令編譯之前的代碼文本整理?xiàng)l件編譯:選擇語(yǔ)句,運(yùn)行時(shí)由用戶選擇決定程序分支流程例18-1.cs條件編譯,編譯時(shí)根據(jù)條件決定可參加編譯的代碼區(qū)塊例18-2.cs條件編譯技術(shù)在軟件開(kāi)發(fā)中經(jīng)常被用于程序調(diào)試標(biāo)識(shí)符定義#define標(biāo)識(shí)符#undef

標(biāo)識(shí)符指令必須出現(xiàn)在源程序的所有有效代碼之前或是程序的第一行語(yǔ)句或是它們之前只有注釋或其他預(yù)處理指令標(biāo)識(shí)符是一個(gè)編譯符號(hào),與變量無(wú)關(guān)條件編譯指令包括#if、#else、#elif、#endif#if#elif后跟標(biāo)識(shí)符表達(dá)式標(biāo)識(shí)符表達(dá)式可以是單個(gè)標(biāo)識(shí)符,也可以是由“&&”以及”||”操作符進(jìn)行連接的多個(gè)標(biāo)識(shí)符,如:#if(A&&B)判斷是否同時(shí)存在標(biāo)識(shí)符A和B的定義條件指令被滿足,則將指令后面的代碼段編譯到目標(biāo)程序中,否則就忽略#else指令與#if配套使用,#endif指令表示條件編譯結(jié)束與if條件語(yǔ)句相似,條件編譯指令可以分為三種結(jié)構(gòu),P415及條件編譯標(biāo)識(shí)符的順序性編譯警告和錯(cuò)誤#warning指令用于生成一條編譯警告信息C#編譯器,可以通過(guò)“/warning”指令來(lái)關(guān)閉警告信息的顯示。#error指令用于生成錯(cuò)誤,并導(dǎo)致編譯的失敗#其它預(yù)處理指令P417特別注意:這些指令用于輔助條件編譯。與C和C++指令不同,不能使用這些指令創(chuàng)建宏。預(yù)處理器指令必須是行上的唯一指令。XML代碼注釋XML,半結(jié)構(gòu)化,自描述,與平臺(tái)無(wú)關(guān)的語(yǔ)言.NET類庫(kù)提供了對(duì)XML操作

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論