C#代码生成器

有人可以推荐一个简单的c#代码生成器。 我只是用以下方法寻找一些东西:

GenClass = CreateNewClass(AccessModifier,Name......) GenClass.Add(new Method(AccessModifier,RetType,Name....){code=@"....."} GenClass.Add(new Property(AccessModifier,Type, Name....) 

………..等

在创建所有类\方法和其他成员之后,我们称之为代码生成function(我们可以在其中指定一些参数)

有没有这样的开源代码生成器?

检查使用CodeDOM生成CSharp(C#)和VB代码

T4或文本模板转换工具包可能值得研究。

另一种选择是创建自己的简单生成器,它包含比CodeDOM更适合您的情况的function。 在我最近的代码生成项目中,我已经封装了代码生成,以便以后可以转换到CodeDOM。

您可能希望查看依赖于CodeDOM的csscript 。

它允许您编写如下内容:

 var PrintSum = CSScript.LoadMethod( @"public static void PrintSum(int a, int b) { Console.WriteLine((a+b)); }") .GetStaticMethod(); PrintSum(1, 2); 

一定要阅读文档,它非常详细,你会发现你可以做的比我之前复制的更多。

如果您希望能够在给定包含C#代码的仲裁字符串的情况下生成类,则需要C#编译器。 目前,.Net框架没有附带编译器,您可以将C#的代码段传递回去并获取编译后的代码。 如果您有更多具体需求,则应准确指定您要执行的操作。

由于您明确搜索了一个开源代码生成器,我建议MyGeneration 。 另一个基于模板的方法(因为想要“GenClass.Add ….”语法而不是模板而不是你想要的)将是Codesmith Tools它真的很强大但是封闭源代码。

看看我的开源生成器http://code.google.com/p/magicapps/