我有一个代码模板,它在项目的文件夹中构建文件,并使用部分类中定义的属性来确定仍然需要实现哪些属性。例如:
public partial class Thingy : IThingy
{
public Foo Bar { get; set; }
}
public interface IThingy
{
Foo Bar { get; set; }
Baz Biz { get; set; }
}模板应该生成:
public partial class Thingy
{
Baz Biz { get; set; }
}我可以保证模板将生成剩余的信息以满足接口的期望,因此甚至能够生成类,除非CSharpCodeProvider不同意只在非生成的部分类中实现一半的接口。是否有一种方法可以让提供程序忽略正在实现的接口?
编辑:--我对此做了更多的思考,并想出了一个解决办法:首先将源代码读入字符串,删除接口引用,然后将代码字符串抛给CompileAssemblyFromSource而不是CompileAssemblyFromFile,但这感觉很不可思议,而且很可能会引入but。有什么想法?
发布于 2012-01-13 14:11:56
我认为,您需要修改源代码以删除接口实现声明。
https://stackoverflow.com/questions/8838183
复制相似问题