miso_soup3 Blog

主に ASP.NET 関連について書いています。

Roslyn Script によるコード生成「Scripty」を試用

T4 以外でのコード生成を調べていた時に、「Scripty」という Roslyn で動くコード生成のライブラリがあったので、メモ。

基本的な使い方は、以下のドキュメントから分かります。

daveaglick/Scripty: Tools to let you use Roslyn-powered C# scripts for code generation

Dave Glick - Announcing Scripty

記述されているように、特定の NuGet パッケージを取得し、Visual Studio Extension をインストールします。 Roslyn Syntax API でプロジェクトファイルにアクセスできるようになっています。

Sample

今回お試しとして、ASP.NET MVC 5 のプロジェクト内にある「**Controller.cs」クラス名と、そのコンストラクタの引数の型名を列挙するスクリプトを書いてみました。

これで実行すると、次のような .cs ファイルが生成されます(コメントだけ書いてありますが)。

//Controller Class Name: HomeController 
//Parameter Type Name: IUserService
//Controller Class Name: PersonController 
//Parameter Type Name: IUserService

参照: