C# 使用 Source Generator 自動產生程式碼

C# 使用 Source Generator 自動產生程式碼

  Rojer Chen's Blog   9/11/2024 09:30:00 上午    0 comments
RojerChen.2024.09.11Source Generator 可以在我們撰寫程式碼個過程中,依照現有的程式碼內容去產生新的程式碼,透過下面這個例子可以來看一下效果。假設我們有一個需求,每次有新增一個屬性都要修改 ToString 這個 Function,套用 Source Generator 之後,效果就會如下:使用心得:撰寫 Source Generator 需要熟悉 Roslyn 編譯器的 API,對於開發來說複雜度上升不少。現在有 ChatGPT 這樣的 AI 工具後,撰寫 Source Generator 的程式碼會容易一些,但是除錯仍舊不太容易。只支援 .Net Core 不支援 .NET Framework。IDE 支援不佳。如果你想要看到 Roslyn 產生出來的程式碼,目前測試下在 Rider 2024.2.x 版本才可以看到 ,目前其他版本是沒有辦法顯示的。Rider