2011-01-26 3 views
1

誰かがC#コードの生成に役立つライブラリを知っていますか?たとえば、クラスの定義を含む* .csファイルを生成する必要がある場合は、オブジェクトツリー(式ツリーに類似)を使用してクラスとメソッドのボディを指定し、ライブラリに文字列として書式設定されたC#コードを私によく与えてください。C#コードビルダー/フォーマッター

ありがとうございました。

+0

明確にするために、カスタムC#コードからライブラリを呼び出したいとします。 – jthg

答えて

5

Microsoft.CSharp.CSharpCodeProviderを見ましたか?

C#コードジェネレータとコードコンパイラのインスタンスへのアクセスを提供します。

+1

確かに、それはSystem.dllの一部です。 –

+0

+1と私はCodeDomで同じコードベースで異なる言語をターゲットにすることができます。 –

+0

@Sasha - どのアセンブリがあったのか見ておくべきです...ありがとう:) – Oded

0

は、コード生成のための多くのツールがあり、彼らは次のとおりです。

コードスミス codesmithtoolsは、COM

codegeneratorproドットコム

など

コードジェネレータはのように聞こえるかもしれドット実際には、あなたが取り組んでいるプロジェクトの種類によって異なります。

System.CodeDomとCSharpCodeProviderを調べます。

0

私はむしろTerance ParrのStringTemplateが好きです。コンパイラ構築ツールの中心にありますANTLR — StringTemplateはコード生成を担当しているため、ANTLRはそのコンパイラの言語をターゲットにすることができます。

あなたは博士パーでこれらの論文では、文字列テンプレートについて読むことができますhttp://www.stringtemplate.org/download.html

から最新のC#/ネットポートをダウンロードすることができます。

CodeProjectには、StringTemplateのコード生成に関する記事もあります。http://www.codeproject.com/KB/codegen/DotNetCodeGeneration.aspx