1
我有一個代碼模板,它在項目文件夾中構建文件,並使用部分類中定義的屬性來確定哪些屬性仍需要實現。舉個例子:使用CSharpCodeProvider編譯部分類
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 balks在概念上僅獲得在非生成的部分類中實現的接口的一半外。有沒有辦法告訴提供者忽略一個接口正在被實現?
編輯:我給這多一點的想法,並在實際第一讀取源到一個字符串,刪除該接口引用,並拋出的串碼到CompileAssemblyFromSource
,而不是形式想出一個解決辦法CompileAssemblyFromFile
,但這感覺超級笨拙,並且很可能會引入錯誤。思考?
因此,您是否能夠編譯生成的部分類集? – abatishchev 2012-01-13 14:13:57