У меня есть шаблон кода, который создает файлы в папке проекта и использует свойства, определенные в частичных классах, чтобы определить, какие свойства еще необходимо реализовать. Как пример:
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
, но это кажется супер грязным и, скорее всего, приведет к ошибкам. Мысли? * * 1013