是否可以在生成的代码中重用 T4 class 功能?
Is it possible to reuse a T4 class feature in the generated code?
我正在使用 T4 模板创建 C# 文件。我想在我的模板中重用 class 功能,在生成的 C# 代码中重用 GetListOfItemsToLoopOver()
。
是否可以在不创建新程序集的情况下执行此操作?
反过来:将您的 GetListOfItemsToLoopOver()
方法放在 class 中的独立 C# 源文件中,然后将该源文件添加到您的项目中。然后,您还可以将该源文件包含在您的 T4 模板中(使用 T4 Include directive)。
您将需要 T4 版本和非 T4 版本之间的细微差别,至少与 using
、namespace
以及 class
位有关,但是这很容易通过使用 #if T4
...#endif
块来处理,并确保在 运行 模板时定义 T4
符号。
不过,很容易以仅适用于其中一个地方的方式意外更改您的源文件,因此请添加注释,说明在进行更改时应重新测试 T4 模板。
我正在使用 T4 模板创建 C# 文件。我想在我的模板中重用 class 功能,在生成的 C# 代码中重用 GetListOfItemsToLoopOver()
。
是否可以在不创建新程序集的情况下执行此操作?
反过来:将您的 GetListOfItemsToLoopOver()
方法放在 class 中的独立 C# 源文件中,然后将该源文件添加到您的项目中。然后,您还可以将该源文件包含在您的 T4 模板中(使用 T4 Include directive)。
您将需要 T4 版本和非 T4 版本之间的细微差别,至少与 using
、namespace
以及 class
位有关,但是这很容易通过使用 #if T4
...#endif
块来处理,并确保在 运行 模板时定义 T4
符号。
不过,很容易以仅适用于其中一个地方的方式意外更改您的源文件,因此请添加注释,说明在进行更改时应重新测试 T4 模板。