最近の趣味コード。 装飾なしのC#クラスから、ちゃんとした機能付きのC#クラスを作るコード。 仕事で似たようなコードを作って実用しているものの、結構ごてごてしててどうしたものかと悩んでいたところ、もっとシンプルにやる方法を思いついたので実装中。 というか、結構よくコード生成やる。要は、何回か同じの作ってるうちにこなれてきてしまった感じ。 どうやって 生成元: 単一名前空間に生成元になるクラスだけを書いた dll 生成に使ってるもの リフレクションで型情報を取ってきて、それを元に新しい型を作る T4テンプレートを使ってコード生成 Microsoft.Build.dll 使って .csproj ファイルを直書き換えして、生成した .cs ファイルをプロジェクトに登録 どういうものを インターフェイスは get オンリー mutable クラス: get/set あり コレクションは普通の配列を
![C# → C# コード生成](https://cdn-ak-scissors.b.st-hatena.com/image/square/a4a9145ec5505a80324b324d9567326eb1ac4663/height=288;version=1;width=512/https%3A%2F%2Fufcpp.wordpress.com%2Fwp-content%2Fuploads%2F2013%2F08%2Fimage_thumb.png)