T4 Text TemplateによるViewModelクラスの生成

さて、T4 Text TemplateによりJava APTとほぼ同様のことができることが解ったので、早速プロセッサ(というかジェネレータ)を作ることにしよう。

実装の手順は以下のようになるだろう。

1. Visual Studio ソリューション情報から全てのプロジェクト情報を列挙
2. 列挙したプロジェクト情報からクラスの情報を列挙
3. 列挙したクラス情報に対象のアノテーション(属性)が見つかったら、その名前空間にクラス情報生成
4. 見つかったアノテーション(属性)からプロパティのアクセサを生成
5. プロパティのセッターにOnPropertyChangedメソッドを呼び出しを生成
6. 生成したしたコードを3.で対象となったプロジェクト該当のパスに保存

Visual Studioのソリューション/プロジェクト情報を取得するには、DTE( Development Tools Environment)オブジェクトにアクセスする必要がある。

方法 : DTE オブジェクトおよび DTE2 オブジェクトへの参照を取得する

次回からはこのT4 Templateとその上でDTEオブジェクトを利用してコードを生成するテンプレートを書いていこう。