這篇文章將為大家詳細(xì)講解有關(guān)C#中有哪些局部類型,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
公司主營業(yè)務(wù):網(wǎng)站設(shè)計(jì)、做網(wǎng)站、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出珠海免費(fèi)做網(wǎng)站回饋大家。
C#局部類型的引入
沒有局部類型的時(shí)候(C# 1.0)
class App { public void Foo(){...} ... public void Bar(){...} ... }
有了局部類型之后(C# 2.0)
partial class App { public void Foo() {...} ... } partial class App { public void Bar() {...} ... }
C#局部類型簡介
局部類型允許我們將一個(gè)類型(類、結(jié)構(gòu)或者接口)分成幾個(gè)部分,分別實(shí)現(xiàn)在幾個(gè)不同的.cs文件中。
C#局部類型適用于以下情況:
◆類型特別大,不宜放在一個(gè)文件中實(shí)現(xiàn);
◆一個(gè)類型中一部分代碼為自動(dòng)化工具生成的代碼,不宜與我們自己編寫的代碼混合在一起。
局部類型是一個(gè)純語言層的編譯處理,不影響任何執(zhí)行機(jī)制 - 事實(shí)上C#編譯器在編譯的時(shí)候仍會(huì)將各個(gè)部分的局部類型可并成一個(gè)完整的類。
C#局部類型的一些限制
局部類型只適用于類、結(jié)構(gòu)、或接口,不支持委托或枚舉。同一個(gè)類型的各個(gè)部分必須都有修飾符partial。使用局部類型時(shí),一個(gè)類型的各個(gè)部分必須位于相同的名稱空間中。一個(gè)類型的各個(gè)部分必須被同時(shí)編譯。換言之,C#不支持先編譯一個(gè)類型的某些部分,然后再編譯一個(gè)類型的某些部分。
C#局部類型的幾個(gè)特點(diǎn)
關(guān)鍵字partial是一個(gè)上下文關(guān)鍵字,只有和class、struct、interface放在一起時(shí)才有關(guān)鍵字的含義。因此partial的引入不會(huì)影響現(xiàn)有代碼中名稱為partial的變量。局部類型的個(gè)數(shù)并不必須為2個(gè)或2個(gè)以上,也可以為1個(gè),雖然這時(shí)候已經(jīng)沒有“局部”的必要。局部類型的各個(gè)部分一般是分開放在幾個(gè)不同的.cs文件中,但C#編譯器允許我們將它們放在同一個(gè).cs文件中。
在C#局部類型上應(yīng)用特性
[Attr1,Attr2("hello")] partial class A{} [Attr3,Attr2("goodbye")] partial class A{} //相當(dāng)于在A類上應(yīng)用了如下特性: [Attr1,Attr2("hello"),Attr3,Attr2("goodbye")] partial class A{}
C#局部類型上的修飾符
一個(gè)類型的各個(gè)部分上的訪問保護(hù)修飾符必須維持一致性。如果一個(gè)類型有一個(gè)部分使用了abstract修飾符,那么整個(gè)類將被視為抽象類。如果一個(gè)類型有一個(gè)部分使用了sealed修飾符號, 那么整個(gè)類將被視為密封類。一個(gè)類的各個(gè)部分不能使用相互矛盾的修飾符,比如不能在一個(gè)部分上使用abstract,又在另一個(gè)部分上使用sealed。
C#局部類型的基類或接口
一個(gè)類型的各個(gè)部分上指定的基類必須一致。某些部分可以不指定基類,但如果指定,則必須相同。
partial class C:IA,IB{...} partial class C:IC{...} partial class C:IA,IB{...}
關(guān)于C#中有哪些局部類型就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
當(dāng)前名稱:C#中有哪些局部類型
本文來源:http://chinadenli.net/article36/gshhpg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、用戶體驗(yàn)、網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、關(guān)鍵詞優(yōu)化、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)