C#代码生成器

时间:2010-03-29 05:59:35

标签: c# code-generation

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

GenClass = CreateNewClass(AccessModifier,Name......)

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

GenClass.Add(new Property(AccessModifier,Type, Name....)

........... 等

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

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

6 个答案:

答案 0 :(得分:12)

答案 1 :(得分:7)

T4 or Text Template Transformation Toolkit可能值得研究。

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

答案 2 :(得分:6)

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

它允许您编写如下内容:

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

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

答案 5 :(得分:0)

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