Re[11]: partial methods
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 16.11.24 09:11
Оценка: +1
Здравствуйте, 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");
    }
Отредактировано 18.11.2024 7:38 Pauel . Предыдущая версия . Еще …
Отредактировано 16.11.2024 9:20 Pauel . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.