再是因為需要才促使語言的公升級,而不是因為公升級促使需要
請看下面示例**:
public partial class sampleclass
}public partial class sampleclass
}這裡定義了乙個類sampleclass,它包含methoda和methodb兩個方法,和我們常見的不同,這個類的兩個方法是分開定義的,它的作用和下面相當。
public class sampleclass
public void methodb()
}「本文主要引用了劉敏的文章,下面是它從windows窗體設計的角度理解pritial提出的原因,當然天天這裡並不贊同,但是為了保持引用的完整性質,下面列出了它的解釋
我猜想這個東西出現的初衷是為了解決掉:「窗體設計器生成的**」這個令人討厭的
region。
對我們來說,在團隊開發當中這個東西或許也會有點用處。
我觀察了一下生成的 il **,使用 partial 生成的**並沒有什麼特殊的標記,這
說明 partial 純粹是語言的特性,clr 完全不知道這麼個玩意的存在,這也就意味著
不要指望將 partial class 編譯為 assembly 或者 module 什麼的再與其他的人寫的
partial class 去進行拼接:它只能在編譯的時候起作用。
為了考驗一下編譯器,我試著讓某乙個 partial class 不顯式指定父類,發現**仍
然能夠正確的通過編譯,編譯器會按照某乙個顯式指定了父類的 partial 進行編譯,
只有在多個 partial 指定了不同父類時才會報錯。同樣,如果多個 partial 指定了自
相矛盾的修飾符的話,編譯時也會報錯的。
有意思的是,我們還可以寫以下這樣的**:
public partial class sample}}
public partial class sample}}
-- 以上內容來自劉敏(rustle liu)的blogs,**為
以下是天天的解釋。
下面我們從asp.net開發的角度介紹partial的使用原因
在asp.net1.1版本裡,您應該知道,如果我們在webform1上放置了乙個控制項,例如id為button1的按鈕則
*.aspx會做如下記錄
而*.aspx.cs會做如下記錄
protected button button1 ; //定義了乙個button類物件button1
由於這種關係,使得系統的維護變的非常困難,特別是在稍微複雜的應用程式中,改動一點有時需要重新編譯整個專案。而且更為難辦的是,如果你在程式裡按照如下使用
*.aspx
protected button button1 ; //定義了乙個button類物件button1
而忘記在*.aspx定義button1,系統還會提示
「未將物件引用設定為例項」的錯誤
為了解決這些問題,.net2.0才提出了partial 關鍵字,它使得如下的使用是正確的
你在*.aspx裡定義了乙個按鈕如
這樣您在*.aspx.cs裡就可以直接使用button2,不用再定義類似 button button2;這樣的物件,系統通過paritial自動將button2關聯起來。所以提高了維護性
c 2 0語法新關鍵字 partial
再 使得使用該書的您很容易過渡到.net2.0,或者說讓您更明白微軟為什麼這麼做,看完本文您就應該明白是因為需要才促使語言的公升級,而不是因為公升級促使需要 請看下面示例 publicpartialclass sampleclass publicpartialclass sampleclass 這裡...
C 2 0基本語法一
c 基本語法 一 基本資料型別 型別 說明 定義bool true 或false bool a true short 16位整數 short b 23 int32位整數 intc 24 long 64位整數 long d 25 float 32位浮點數,單精度浮點數 float e 22.33f d...
C 語法新特性
下面介紹下c 的新語法,這些新語法使程式設計更方便快捷 往往一行 能起到老語法幾行功能 同時也更健壯減少異常發生,方便閱讀。個人認為很有必要掌握下。新建乙個product類 和shoppingcart public class product public string category water...