だらだらやるよ。

こげつのIT技術メモ

C#で使用できるテンプレートエンジン

C#てか.NETですね。

いくつかあるようですが、テンプレートエンジンの主要な用途である、
WEBサイト用としては、ASP.NETがすでにテンプレートの機能を同梱しているので、
クラスやHTML、XMLなどを生成する際のテンプレートエンジンとしては、決定的なものがありません。


いくつか検索して見つけたものの列挙

NVelocity

Velocityの.NET移植版、SourceForge での開発は2003年にバージョン0.42で止まってますが、
現在はCastleProjectの中に同梱されているものがあるようです。
こちらはバージョン1.1


バージョン0.5くらいのころに使ってみたことありますが、
わりと素直な感じのテンプレートエンジンですね、元のVelocityもですが癖が少ないかも。


Castle Project 他にも使えそうな名前のライブラリがありますね。
Castle Project download | SourceForge.net


NVelocity バージョン0.42まで
NVelocity - A .Net Template Engine download | SourceForge.net


解説記事 ちょっと古いですが、NVelocityの解説記事
テンプレートエンジンNVelocityを活用してテキストを生成する (1/3):CodeZine(コードジン)

StringTemplate.NET

こちらももともとJavaに存在した、StringTemplateを.NET用に移植したものですね。
個人的にはループの文法が気持ち悪いのがちょっと。。。
ですが、ネット上では高機能そうな感じの評判を見かけました。


StringTemplate
StringTemplate


解説記事
テンプレート・エンジン「StringTemplate.NET」を使う (1/2):連載:VBで実践! 外部コンポーネント活用術 - @IT

自作

.NETにはテキストファイルをコンパイルして実行する仕組みがありますので、
それを利用してC#のコードを生成してしまう方法を使って自作している方も多いようです。
テンプレートにC#のコードをそのままかけるので、こういったものを自作すると
自作の手間はかかりますが、テンプレートエンジンの構文を覚えなくていいので楽かもしれません。
[DIY]55行で作るC#用テンプレートエンジン

その他

海外のテンプレートエンジン紹介記事見つけたのでリンクはっときますね。
Open Source Template Engines in C#