今回の記事はC#のIncremental Source Generatorについて。 C#ではSource Generatorを用いることで、コンパイル時に属性などの情報から動的にコードを生成することが可能です。これはシリアライザや通信層のライブラリなどによく使われていて、ボイラーコードの生成を自動化するのに役立ちます。また、近年ではNativeAOTへの対応から、従来ではリフレクションやIL生成で行っていた処理をSource Generatorに置き換える作業が進んでいます。 そこで今回はRoslynの基本的な部分からIncremental Source Generatorの実装までを解説していきます。ややとっつきにくさはありますが、使いこなせれば非常に強力なツールになるので、特にライブラリなどを開発する方は覚えておくと良いでしょう。 前提知識 C#の基礎的な知識 構文解析に関する基本的