《C 高階程式設計》筆記系列第三彈

2022-09-08 08:06:12 字數 822 閱讀 7431

我們在開發winform時,經常會看到partial關鍵字,比如,我們新建乙個windows form時,後台**自動新增如下:

1 public partial class form1 : form

2 7 }

《c#高階程式設計》書中說明:partial關鍵字允許把類、結構或介面放在多個檔案中。一般情況下,乙個類儲存在單個檔案中,但有時,多個開發人員需要訪問同乙個類,或者某種型別的**生成器生成了乙個類的某部分,所以把類放在多個檔案中是有益的。

也就是說,我們定義的乙個類可以分開幾個檔案來儲存,而各個檔案都只是完成這個類的一部分功能。我們在使用這個類時,根本體會不到這個類是由幾部分結合在一起共同組成的。比如我分別在兩個地方定義了box類的一部分:

public partial class box

public void open()

}public partial class box

};上面的**等同於下面的box類:

public class box

public void open()

public void close()

}書中還有一段:在把部分類編譯到型別中時,會合併屬性、xml注釋、介面、一般型別的引數屬性和成員。

所以自己可以去設計一些小demo去嘗試一下。現在回到最開始的問題,為什麼新建立的winows form的類定義成了乙個部分類。我們開啟form1.designer.cs檔案,可以看到,原來form1的另一部分類是在這個檔案中設計的。這個部分類中定義了我們使用的控制項、事件委託以及如dispose方法等。因為這裡面的**都是自動生成的,因此設計成了乙個部分類。ok,原來partial如此簡單,就到這啦!

FPGA學習筆記第三彈

fpga學習筆記第三彈 1 同步復位和非同步復位 說實話這個問題在我沒有看書時候,我一直以為是一樣的沒有什麼區別。那他們到底有何不同之處呢 同步復位的邏輯 always posedge clk if rst b 0 else a b 非同步復位邏輯 always posedge clk or neg...

C語言高階程式設計系列

關於c語言高階程式設計系列文章。筆者主要從事linux kernel bsp driver以及tcp ip方向工作,日常主要使用c語言。工作數年,感嘆c語言的簡潔卻不簡單,至今仍不敢說精通c,希望可以通過此系列文章的總結系統地提公升自己。更新於 20191124 目錄 c語言高階程式設計 預處理中的...

C 高階程式設計筆記之第三章 物件和型別

類與結構的區別是它們在記憶體中的儲存方式 訪問方式 類似儲存在堆上的引用型別,而結構是儲存在棧上的值型別 和它們的一些特徵。語法上,類與結構非常相似,主要區別是結構使用關鍵字 struc t 代替 class 來宣告。3.3.1 資料成員 資料成員是包含類資料 字段 常量和事件的成員。3.3.2 函...