C#代码生成器

Nei*_*ir0 12 c# code-generation

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

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

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

GenClass.Add(new Property(AccessModifier,Type, Name....)
Run Code Online (Sandbox Code Playgroud)

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

在创建所有类\方法和其他成员之后,我们称之为代码生成功能(我们可以在其中具体说明一些参数)

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

Sam*_*ell 12

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

  • @ Neir0:它就像它变得一样容易,如果你把这个称为太困难,我会对你要找的东西感到困惑. (3认同)
  • 如果你想要你的问题提出的稍微轻一点的语法,我建议在原始CodeDOM之上编写一些非常简单的扩展方法.使用这种技术创建一个漂亮的流畅API非常容易. (2认同)

And*_*bel 7

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

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


Rom*_*ier 6

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

它允许您编写如下内容:

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

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