Roslyn Source Generatorが様々のリポジトリで使われている。例えばdotnet-isolated-workerなどである。残念ながら私は触ったことが無くてコードが読めなかったので、簡単なサンプルアプリを書いて理解してみることにした。 お題は、めっちゃ懐かしのAOP(Aspect Oriented Programming)のなんちゃって版だ。Attributeを定義すると、関数の実行時に前後にログを注入するというサンプルが書けるか試してみた。 Rosyn APIs とは? Source Generator は Roslyn APIs(The .NET Compiler Platform SDK) の一部の機能だ。Roslyn APIs は.NETでコンパイル時に、ソースコードを評価して、アプリケーションのモデルを作る。このAPIはそのモデルを操作するためのものだ。具体的に