研究 .NET 基礎類庫 (BCL) 實作是進階開發者的必修課。雖然 Reflector/ILSpy 可反編譯,但缺乏官方註解與原始碼結構。微軟官方釋出的 SSCLI (Shared Source CLI) 原始碼才是最權威參考,筆者將其按版本與命名空間整理部署至 projky.com,提供高亮語法、可下載原始檔的線上瀏覽體驗。
首頁列出 .NET 版本目錄(如 NET4.0、NET4.5),進入版本後依命名空間分層:

圖 1 網站首頁:版本目錄與排序功能
例如 https://www.projky.com/NET4.0/System/Collections 顯示該命名空間下所有型別原始檔:

圖 2 命名空間檔案列表,支援依名稱/大小排序
點擊任意 .cs.html 即見語法高亮原始碼;底部下劃線連結可下載純文字 .cs 檔:

圖 3 原始碼高亮頁面,提供下載連結
https://www.projky.com/NET4.0/System/Collections/IList.cs.htmlhttps://www.projky.com/NET4.0/System/Collections/IList.cs| 工具 | 優點 | 缺點 |
|---|---|---|
| Reflector/ILSpy | 即時反編譯、跨平台 | 無官方註解、變數名經優化難讀 |
| projky.com (SSCLI) | 官方原始碼、完整註解、原始結構、可離線下載 | 版本更新滯後、需網路 |
建議:釐清 BCL 實作細節(如
List<T>擴容策略、Dictionary<TKey,TValue>雜湊碰撞處理)時,優先查閱 SSCLI 原始碼。
作者:玄魂
出處:https://www.cnblogs.com/xuanhun/