Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否可以在生成的代码中重用T4类功能?_C#_Visual Studio_Templates_T4 - Fatal编程技术网

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

C# 是否可以在生成的代码中重用T4类功能?,c#,visual-studio,templates,t4,C#,Visual Studio,Templates,T4,我正在使用T4模板创建一个C#文件。我想在生成的C#代码中重用我的模板中的类功能,GetListOfItemsToLoopOver()。 是否可以在不创建新部件的情况下执行此操作 扭转局面:将GetListOfItemsToLoopOver()方法放在类中的独立C#源文件中,并将该源文件添加到项目中。然后,您还可以将该源文件包括在T4模板中(使用) 您将需要T4版本和非T4版本之间的细微差异,至少与使用的、名称空间,以及类位有关,但使用\if T4..\endif块很容易处理,并确保在运行模板时

我正在使用T4模板创建一个C#文件。我想在生成的C#代码中重用我的模板中的类功能,
GetListOfItemsToLoopOver()

是否可以在不创建新部件的情况下执行此操作

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

您将需要T4版本和非T4版本之间的细微差异,至少与使用
名称空间
,以及
位有关,但使用
\if T4
..
\endif
块很容易处理,并确保在运行模板时定义了
T4
符号


不过,很容易意外地更改源文件,使其仅适用于其中一个使用位置,因此请添加一条注释,说明在进行更改时应重新测试T4模板。

您能提供更多详细信息吗?使用T4向类添加功能的主要方式是通过
部分类
语法。“这行得通吗?或者你还有别的想法吗?@GrantWinney是的,这正是我的意思。谢谢。我想我会把函数分开,因为我想要的主要东西不值得维护#if块。