Здравствуйте, Codealot, Вы писали:
P>>Малеха пропустили, и ваш метод повис в воздухе.
C>Непонятно, что ты хотел сказать.
Вы предлагаете подробить класс на цепочку наследования, которую надо теперь мейнтейнить руками. Три файла — три класса. Ошибаетесь в имени, наследуете 3й от 1го и приплыли.
В случае с partial вы доопределяете метод ровно там, где это нужно. Эдакий плагин.
Теперь интереснее — покажите, как вы собираетесь ваш генеренный код инстанцировать из другого генеренного кода
Подробно — как генератор узнает, что через год вы допишете наследование и нужно будет инстанцировать тот а не этот.
В нашем случае все просто — new XxxComponent()
Или делаем метод-фабрику, который тоже partial.
В вашем случае надо городить огород — пилить целый слой поверх, все перенаследовать.
Вот, минимум телодвижений
partial void OnCreateProduct(ref Product product, string name);
public Product CreateProduct(string name)
{
Product product = new Product(name);
OnCreateProduct(ref product, name);
return product;
}
...
partial void OnCreateProduct(ref Product product, string name)
{
product = new Product("a test");
}