[ Source Generator ] 使用 SyntaxReceiver 快速篩選關注的 Syntax 資訊

Source Generator 是微軟於 .NET 5 所推出的新功能,

它允許我們從原始碼編譯的結果中取得所需的 meta 資訊,

進而根據這些資訊去組出額外的程式碼,並加至最後的編譯結果中。

而當原始碼數量過於龐大時,將篩選 Syntax 的邏輯寫在 Generator 內就會稍顯雜亂。

這時可以使用 SyntaxReceiver 幫助我們快速篩選所需的 Syntax 資訊!

...繼續閱讀 »

[ .NET Core ] 使用擴充方法擺脫 IOptions<T> 的組態設定方式

開發的過程中難免會於組態檔中存取應用程式的特定資訊,

.NET Core 中拋棄了過去存於 Web.Config 的方式,

而將組態預設存放在 appsetting.json 中。

官方預設提供了 IOptions<T> 讓我們能夠以強型別的方式繫結組態,

但是使用起來總覺得不是那麼順手,

本文介紹如何透過自訂擴充方法簡化組態注入方式。

...繼續閱讀 »

[ Azure DevOps ] 將 .Net Standard 函式庫發佈至 Azure Artifact Feed

.NET Standard 最初的願景是作為 .NET Framework.NET Core 的中繼層,

讓開發人員能夠基於這個抽象來開發支援上述兩種 target framework 的函式庫。

這玩意兒出來其實也挺久了,但一直到最近才碰到它。

本篇將介紹如何透過 Azure Pipeline 將 .NET Standrad Library 發布至 Azure Artifact Feed

...繼續閱讀 »