C#代码生成我正在为一个项目创建一个小型类生成器。我一直在阅读CodeDOM,因此创建类的语义似乎不是问题,但我不确定如何最好地将这一代集成到开发和部署过程中。如何触发课程的创建?我读过它应该是构建过程的一部分,我应该怎么做?应该在哪里创建类?我读到文件不应手动编辑,也不应在源代码管理中检查。我是否应该担心这一点并将类生成到与生成器引擎相同的目录中?您问题的答案部分取决于您生成的类的用途。如果这些类是作为开发的一部分生成的,那么它们应该作为文本文件生成并像任何其他类一样签入SCM。如果你的类是在运行时动态生成的,作为系统运行的一部分,我根本不会使用CodeDOM。我会使用反射。看看T4模板(它内置于VS2008中)。它允许您创建为您生成代码的“模板”类。OlegSych是宝贵的资源。链接到Oleg的代码生成教程。我知道T4模板存在(并且知道很多人使用它们),但我自己不使用它们。除此之外,你还有两个主要的选择:以上是C#学习教程的全部内容:C#代码生成分享。如果对大家有用,需要详细了解C#学习教程,希望大家多多关注——在项目内部使用SingleFileGeneratorTransformsources。每当您保存编辑后的文档时,它都会自动重新生成代码文件。如果使用源代码管理,生成的文件将作为项目的一部分签入。这有一些限制:代码是作为构建的一部分生成的。为此,您需要编写一个MSBuild目标文件。为此,您可以完全控制输入和输出,因此可以处理依赖关系。如有必要,系统状态可被视为输入依赖项,但请记住,每个需要代码生成的构建将比使用先前构建结果的构建花费更长的时间。结果(生成的源文件)通常放在obj目录下,加入csc(C#编译器)的输入列表。此方法的局限性:本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
