Reading Notes

C#筆記 – 定制特性

「自定義特性」只是將一些附加信息與某個目標元素關聯起來的方式,編譯器在托管模塊的元數據中生成這些額外的信息。「自定義特性」實際上是一個「類型的實例」,派生自System.Attribute,將特性應用於目標元素時,類似於調用其實例構造器

C#筆記 – 接口

接口可以定義大部分方法、以及事件、屬性,但不能定義構造器方法、實例字段和靜態成員。在CLR看來,接口定義就是類型定義,所以,CLR會為接口類型對象定義「內部數據結構」;同時也可以通過反射機制來查詢接口類型的功能

C#筆記 – 參數

參數有多種傳遞方式:可以事先為其定義默認值;可以傳遞的時候指定為某個名稱參數賦值;可以以引用傳遞;可以定義接受不定數量的參數類型;

C#筆記 – 托管堆與垃圾回收

在面向對象的環境,每個類型都代表可供程序使用的「一種資源」要使用這些資源,必須為資源分配內存。分配內存時,CLR會檢查托管堆空間是否有足夠空間,如有,則放入對象,調用類型的構造器;如果沒有,則執行GC

C#筆記 – 事件

CLR事件模型以委托為基礎,在委托的基礎上額外封裝了一套允許登記/注銷對事件關注的方法以及一個維護已登記的方法集的委托字段,事件發生後,將通知列表中所有已登記的方法