Visual Studio 2015高级编程(第6版)
上QQ阅读APP看书,第一时间看更新

14.8 提示和技巧

下面是有助于充分利用T4的几个注意事项:

●编写要生成的代码时,先给一个特例编写正常的C#或VB代码文件。该代码能正常工作后,再把整个代码文件复制到.tt文件中。然后逐步引入Statement块和Expression块,提取出Class Feature块,慢慢地使代码一般化。

●在进行修改时要经常保存。只要某个修改使生成的代码或生成器崩溃,就回退,再试一次。

●千万不要直接修改生成的文件。下次保存模板时,就会丢失这些修改。

●把生成的类设置为部分类。这会使生成的类可以扩展,以便使类的某些部分不被修改,而只重新生成其他部分。实际上,这是存在部分类功能的一个原因。

●使用包含单词generated的扩展名,如.generated.cs和.generated.vb。这是Visual Studio本身使用的一个约定,不鼓励其他用户修改模板文件。

●同样,在生成的文件顶部包含一个注释,说明文件是生成的,并包含如何修改内容和重新生成文件的指南。

●把执行T4模板作为构建过程的一部分。相对于用于生成该文件的元数据而言,这将确保生成文件的内容不会过时。

●如果不希望许多内容都依赖一般的T4 Text Template生成的代码,那么可以在开发时把定制工具切换为生成Runtime Text Template。这会把代码生成器放在项目中,允许对它编写单元测试。

●不要使用T4生成.tt文件。如果尝试使用代码生成器生成模板文件,那么出错时的复杂程度会大幅升高。此时最好考虑给项目使用另一种策略。

●最后,T4初学者的一个绝对有价值的资源是www.olegsych.com。Oleg Sych是一位Visual C# MVP,他的博客包含大量关于T4的文章。