Re: Порядок вызова конструкторов в C#
От: samius Япония http://sams-tricks.blogspot.com
Дата: 15.06.09 13:03
Оценка: +1
Здравствуйте, GrigorievAnton, Вы писали:

GA>Задача такая: есть базовый класс и много наследников от него. В конструкторе всех классов нужно выполнить одинаковую последовательность действий, только с одним параметром, правила вычисления которого разные в различных классах. Я засунул эти вычисления в конструктор базового класса, а вычисление параметра вынес в отдельную виртуальную функцию, которую перекрываю в наследниках. Получается примерно так:



GA>
GA>class BaseClass
GA>{
GA> public BaseClass(...)
GA> {
GA>   int param = GetParam(...);
GA>   // Здесь реализация одинакового для всех классов алгоритма,
GA>   // в котором есть зависимость от param
GA> }


Алгоритм в конструкторе? Нельзя ли вынести?

Если нет, можно вынести метод GetParam во вспомогательную сущность и передать ее в конструктор явно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.