我正在使用T4 RuntimTemplates进行一些代码生成的工作。我有不止一个模板,我把它们“存储”在一个IEnumerable
列表中。
我的问题是我想使用.WriteAllText()
(一个虚方法)迭代模板。
我想,用.WriteAllText()
的定义创建一个接口并在分部类中声明它可能是最简单的方法。
public partial class SolutionTemplateRunTime : SolutionTemplateRunTimeBase, ICodegenerationTemplate
{
这在我存储或更新模板之前有效;模板的partial类(cs背后的代码)得到更新,接口声明消失。
public partial class SolutionTemplateRunTime : SolutionTemplateRunTimeBase
{
有没有解决方案来处理这个问题?每当我更新模板时都要重新声明接口,这有点烦人。
希望你能帮忙。
格雷茨·伊基
1条答案
按热度按时间gab6jxml1#
我认为您没有理解
partial
的要点--其思想是您想要做的更改完全是在一个单独的文件中完成的--一个不会生成的文件。只需创建一个新的
cs
文件,声明如下:当编译代码时,编译器会合并同一个类的所有分部声明--这包括类实现的任何接口等等。