日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C#局部類型介紹

C#局部類型的引入

沒有局部類型的時(shí)候(C# 1.0)

 
 
 
  1. class App  
  2. {  
  3.    public void Foo(){...}  
  4.    ...  
  5.    public void Bar(){...}  
  6.    ...  

有了局部類型之后(C# 2.0)

 
 
 
  1. partial class App  
  2. {  
  3.    public void Foo()  
  4.    {...}  
  5.    ...  
  6. }  
  7. partial class App  
  8. {  
  9.    public void Bar()  
  10.    {...}  
  11.    ...  

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)用特性

 
 
 
  1. [Attr1,Attr2("hello")]  
  2. partial class A{}  
  3. [Attr3,Attr2("goodbye")]  
  4. partial class A{}  
  5. //相當(dāng)于在A類上應(yīng)用了如下特性:  
  6. [Attr1,Attr2("hello"),Attr3,Attr2("goodbye")]  
  7. partial class A{} 

C#局部類型上的修飾符

一個(gè)類型的各個(gè)部分上的訪問保護(hù)修飾符必須維持一致性。如果一個(gè)類型有一個(gè)部分使用了abstract修飾符,那么整個(gè)類將被視為抽象類。如果一個(gè)類型有一個(gè)部分使用了sealed修飾符號(hào), 那么整個(gè)類將被視為密封類。一個(gè)類的各個(gè)部分不能使用相互矛盾的修飾符,比如不能在一個(gè)部分上使用abstract,又在另一個(gè)部分上使用sealed。

C#局部類型的基類或接口

一個(gè)類型的各個(gè)部分上指定的基類必須一致。某些部分可以不指定基類,但如果指定,則必須相同。

 
 
 
  1. partial class C:IA,IB{...}  
  2. partial class C:IC{...}  
  3. partial class C:IA,IB{...} 

【編輯推薦】

  1. C#特有線程功能
  2. 淺談C#對(duì)象和集合
  3. 淺析C# FTP WebRequest對(duì)象
  4. C#分部方法的應(yīng)用場景
  5. 概述C#線程功能

本文名稱:C#局部類型介紹
文章路徑:http://www.5511xx.com/article/cddpeic.html