日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。Templateですが正直あんまり楽になった気がしないです。いうと、クラスのメタデータの定義が非常に冗長な感じになってたからだと思います。1プロパティしかないクラスを定義するだけで、20行以上も書かないといけないです。ViewModelを直接定義するよりは楽とは言っても、あんまり嬉しい気がしないです。いうことで、改善してみようと思います。前に流行ったような気がする、流れるようなインターフェースを取り入れてみようと思います。あと、NSDefとかClassDefは別アセンブリにするためにクラスライブラリのプロジェクトにコピーしました。VMDslプロジェクトを作って、この間作ったクラス群をコピーします。あと、NSDefクラスの一部を配列からListを使うように変更しました。いうことで、クラス群は以下のようになりました。}}こいつらを構築するための流れるようなインターフェースを構築していきます。入り口となるNSDefクラスを生成するファクトリを作ります。こいつは単純なstaticメソッドになります。}}そして、メソッドチェインを構成するためにNSDefクラスやClassDefクラスを拡張していきます。}}こいつをビルドして、T4テンプレートを入れていたフォルダにコピーします。ClassDef.ttincludeを削除します。MyClasses.ttincludeファイルの先頭にこのDLLを読み込むように定義を追加します。Studioの環境変数を使って指定してるところです。これで、ほかのマシンにプロジェクトを持って行っても問題なく動きます。クラス定義を先ほど定義した拡張メソッドを使って書き換えます。"Value").EndClass()};#>見た目だいぶすっきりしました。3クラスも定義してるのに、前回より行数が減ってすっきりしてます。これなら書いてもいいかなって思うかも。上記の定義で生成されるコードは以下のようになります。ましになってきたかな。value;base.OnPropertyChanged("Value");}}}}このプロジェクトは↓からダウンロードできます。C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。Blogの内容は個人の見解であり、所属する企業を代表するものではありません。)はてなブログをはじめよう!okazukiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。