代码之家  ›  专栏  ›  技术社区  ›  Hannoun Yassir

使用.net生成代码

  •  5
  • Hannoun Yassir  · 技术社区  · 16 年前

    .net framework中是否有任何类允许我生成可以另存为.cs或.vb文件的类?

    2 回复  |  直到 16 年前
        1
  •  7
  •   itowlson    16 年前

    请参阅System.CodeDom命名空间。基本上,您可以使用CodeDom创建类的抽象模型。然后实例化CSharpCodeProvider或VBCodeProvider并使用其中一个CodeDomProvider.GenerateCodeDefrom。。。方法将其作为适当类型的源代码发出。这是Windows窗体设计器xsd.exe等使用的底层技术。

    但是,请注意,CodeDom非常冗长,而且很难处理。如果您的类比较复杂,您可能希望使用模板引擎,例如T4或NVelocity。

        2
  •  8
  •   marc_s MisterSmith    16 年前

    你真的需要特定的.NET类吗,或者你可以使用Visual Studio的外接程序吗??

    如果你有Visual Studio,一定要查看T4模板——VS中最不知名但最有价值的资产之一!

    至少有一个命令行工具可以从.NET代码中调用以进行转换,但我很确定您也可以将某些转换引擎作为.NET类调用,并让它以编程方式从T4模板生成C#或VB.NET代码。

    通常情况下,使用T4比CodeDom容易得多——它有其局限性,但在大多数情况下,它是一种快速轻松完成任务的伟大技术。