是否可以在生成的代码中重用T4类功能?

时间:2015-05-06 00:47:21

标签: c# visual-studio templates t4

我正在使用T4模板创建C#文件。我想在生成的C#代码中重用我的模板GetListOfItemsToLoopOver()中的类功能。 是否可以在不创建新装配的情况下执行此操作?

1 个答案:

答案 0 :(得分:1)

扭转局面:将GetListOfItemsToLoopOver()方法放在类中的独立C#源文件中,并将该源文件添加到项目中。然后,您还可以在T4模板中包含该源文件(使用T4 Include directive)。

您需要在T4版本和非T4版本之间存在微不足道的差异,至少与usingnamespace以及class位相关,但是&# 39;使用#if T4 ... #endif块轻松处理,并确保在运行模板时定义了T4符号。

很容易意外更改源文件的方式仅适用于其中一个使用的位置,因此请添加注释,以便在进行更改时应重新测试T4模板。