我正在使用T4 RuntimTemplates编写一些代码生成的东西。我确实有多个模板,我将它们“存储”在一个IEnumberable列表中。
我的问题是,我想使用.WriteAllText()来迭代模板,这是一个虚拟方法。
我想,这可能是用.WriteAllText()的定义在分部类中声明它的最简单的方法。
public partial class SolutionTemplateRunTime : SolutionTemplateRunTimeBase, ICodegenerationTemplate
{此操作直到我存储或更新模板;-)。模板的分部类(cs后面的代码)被更新,接口声明也消失了。
public partial class SolutionTemplateRunTime : SolutionTemplateRunTimeBase
{有办法解决这个问题吗?每当我更新模板时,重新声明接口是一种烦人的事。希望你能帮忙..。
格里茨·伊基
发布于 2015-06-30 10:04:03
我认为您忽略了partial的要点--您想要做的更改完全是在一个单独的文件中完成的--这是一个不生成的文件。
只需创建一个新的cs文件,其声明如下:
public partial class SolutionTemplateRunTime : ICodegenerationTemplate
{
...
}在编译代码时,编译器将合并同一类的所有部分声明--这包括类实现的任何接口等。
https://stackoverflow.com/questions/31133726
复制相似问题