活動簡介
- 活動地點:報名成功後另行通知(台北市東門捷運站十分鐘內)
- 活動時間(7H):

活動規劃
這是一場專為中高階 C# 開發者量身打造的技術實戰活動,聚焦於 .NET 編譯流程中的神秘利器 Source Generator。
從實戰出發,透過 10 組高強度範例專案,帶你逐步掌握 Enum-to-String、NotifyPropertyChanged 到 Interceptor 的多樣應用場景,並延伸到 SyntaxProvider 模型轉換與 Diagnostic 檢測等進階技巧。
你將深入探索 Roslyn 的核心組件(如 Syntax API 與 SemanticModel),學習如何在 編譯時自動生成高效能的程式碼,大幅簡化樣板流程、強化可維護性,同時精準對應現代企業在程式碼穩定性、高效能、與開發流程自動化上的實務需求。
這不只是學寫 Generator,而是打造懂你邏輯、能與你共舞的程式分身。若你想學的不只是語法,而是如何把 Source Generator 真正「用起來」,這堂課會是你駛向 Roslyn 深海的船票。
活動講師
Bill

熱衷於物件導向程式開發的探索,喜歡研究物件導向基本理論與歷史,並偏好以非技術性的方式傳達物件導向開發的概念。專長領域為 RFID、通訊、OOP 與 Windows Store/Phone App 開發。
講師經歷:
- 2009-至今 微軟最有價值專家 Microsoft MVP Development Technologies
- 台灣微軟 特約講師
- Intel 特約講師
- 全球前25大電子公司 UWP 顧問
- SkillTree 專任講師
活動介紹
- 課程介紹與基礎概念
- 教材與範例說明
- Source Generator 概述
- 為什麼需要 Source Generator
- C# 編譯流程與開發環境設置
- C# Compile Pipeline
- 前置作業
- 專案設定
- Hello Generator 入門範例
- Generator Class 基本需求
- 第一個 Source Generator 實作
- Debug Source Generator 技巧
- 核心 API 與參數詳解
- Initialize 核心參數
- IncrementalGeneratorInitializationContext 結構
- Providers 類型
- 三種輸出程式碼的方法
- IncrementalValueProviderExtensions 擴充方法
- 實戰專案 - Enum To String (六個版本演進)
- Version 1: 基礎實作
- 基本 Enum 擴充方法生成
- 效能比較分析
- 基礎 predicate 和 transform 實作
- Syntax API 深入探討
- Syntax Tree 結構
- 三種語法結構主要型別
- 語法節點繼承樹
- Semantic Model 語意模型
- GeneratorSyntaxContext 結構
- ModelExtensions 類別
- 從 Syntax 取得 ISymbol
- ITypeSymbol Interface
- AttributeData 類別應用
- ISymbol.ToDisplayString 格式化
- Version 2: 改善語意模型處理
- 使用 ForAttributeWithMetadataName
- 簡化 Attribute 識別
- 開發環境效能優化
- Version 3: 自訂 Generator Model
- 建立 EnumGeneratorModel
- 效能快取機制
- Version 4: 資料模型改善
- 使用 struct 和 record
- 應用 SrcGenBoost 套件
- Version 5: 外部 Enum 支援
- ExistEnum Attribute 設計
- Partial Class 擴充方法
- TypedConstant 結構應用
- Version 6: 診斷功能
- Report Diagnostics 實作
- DiagnosticDescriptor 設定
- 錯誤診斷與回報機制
- Version 1: 基礎實作
- NuGet 套件打包
- 打包步驟詳解
- 實戰專案 - Notify Property Changed (兩個版本)
- Version 1: 基礎屬性通知
- Partial Property 處理
- 適當的 Diagnostic Location 處理
- Version 2: 進階屬性通知
- NotifyAnother Attribute 支援
- 屬性相依關係處理
- Version 1: 基礎屬性通知
- 八、Interceptor 攔截器
- Interceptor 簡介與優勢
- InterceptsLocationAttribute 應用
- Stopwatch Measure 實戰範例
- 自訂編譯選項處理
- 九、測試策略與實作
- Diagnostic Report 測試
- Transform Result 測試
- Syntax Tree 測試
適合對象
- 對 C# 語言與編譯器技術有熱情的工程師
- 希望減少 boilerplate、提升維護性與一致性的開發團隊
- 想導入 Source Generator 至現有架構中的技術領導人或架構師
重點特色
實戰案例引領
- 透過 10 個完整範例,從入門到進階循序漸進:
- 6 種 Enum-to-String 產碼策略,涵蓋多種使用情境
- 2 種 NotifyPropertyChanged 實作與進階延伸
- 1 個編譯期 Interceptor 範例,掌握方法攔截與程式碼注入
- 1 個測試專案,驗證 SyntaxProvider 轉換模型、程式碼輸出與 Diagnostic 正確性
理論+實務並進
- 以「動手實作」為起點,再回頭拆解核心原理,帶你構建完整的 Roslyn 知識地圖。
全面技術覆蓋
- 深入探討:
- Roslyn 核心:Syntax API、SemanticModel
- 增量生成:Incremental Generator
- 高階產碼技巧:Attribute 驅動、partial class、語意 (metadata-driven) 分析
- Interceptor & CallTarget 實務應用
- 徹底測試:GeneratorDriver、TrackedSteps 觀測與驗證
本活動提供午餐
- 為了節省您的時間,我們提供免費便當。
本活動建議攜帶筆電
- 建議您攜帶筆電,以利活動實做練習。
- 必要軟體將會於活動通知信中說明。
選擇票種
報名時您只要選取「報帳發票」並且輸入相關資訊,活動當天雲端發票自動寄送到您的信箱,方便您報帳!
我們知道您的學習是為了將來的薪水,為了避免造成您的負擔,我們提供了 3、6 期零利率的信用卡分期付款,歡迎多加利用。
-
一般票
販售期間: 2025-06-23 ~ 2025-08-01NT$ 6,000可得紅利:600 -
優惠票
先搶先贏,搶完就沒囉販售期間: 2025-06-23 ~ 2025-08-01NT$ 5,280可得紅利:264 -
攜伴票
發票無法分開,主揪者須收齊款項後一次付款,主揪高紅利。販售期間: 2025-06-23 ~ 2025-08-01NT$ 5,100可得紅利:408 -
助教票
助教專用票卷。(助教為內定並非對外販售)販售期間: 2025-06-23 ~ 2025-08-01NT$ 500
訂閱電子報
如果您希望收到最新活動訊息,請訂閱電子報
還想知道什麼就留言吧
持續學習
- 我們使用 Microsoft Teams 做課程討論平台。了解更多
注意事項
- 若報名人數不足15人,或因不可抗拒因素(如:天災、停電)主辦單位有權取消當次活動,並無息退還全額活動費用。
- 主辦單位保留接受報名與否之權利,倘因故無法接受報名,將會無息退還全額活動費用。
- 主辦單位保留對活動內容調整的權力。
退款方法
- 因部分必要支出與行政費用,完成繳費後如取消報名,將依據時間遞減退還費用。
- 活動前7天申請退費,退費用0 %。
- 活動前8天申請退費,退費用90 %。
- 收到申請表後我們會主動與您聯繫。
目前活動
-
當 Vibe Coding 遇上 AI Agent 開發
2025-07-12 開始,共 5 小時 -
K8s新手村一日逃脫術
2025-07-19 開始,共 7 小時