【问题标题】:Code generation using .net使用 .net 生成代码
【发布时间】:2011-01-03 08:32:51
【问题描述】:

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

【问题讨论】:

    标签: c# .net vb.net code-generation


    【解决方案1】:

    您真的需要特定的 .NET 类,还是可以使用 Visual Studio 的插件??

    如果您有 Visual Studio,请务必查看 T4 模板 - VS 中鲜为人知但最有价值的资产之一!

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

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

    【讨论】:

      【解决方案2】:

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

      但请注意,CodeDom 非常冗长且难以使用。如果您的类比较复杂,您可能需要改用 T4 或 NVelocity 等模板引擎。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-02
        • 2010-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多