Цитата:
Сообщение от
ta_and
Где в теории ООП написано, что конструктор должен быть без параметров?!
В теории, разумеется, этого нет. Но Axapta - это не "теория". Это "экземпляр" теории

Конкретная реализация, которая, разумеется, вводит свои собственные ограничения
Цитата:
Сообщение от
ta_and
Совершенно не оправданное ограничение МС.
Приведите хотя бы один довод, почему в конструктор не должны передаваться параметры?
Оправдано, оправдано. Но! Не "вообще", а в конкретной реализации ООП в системе Axapta. Самый простой пример - пакетные задания (Batch) начинаются с того, что создают экземпляр класса через
classfactory.createClass(classId);
передача параметров здесь не предусмотрена "в принципе". Все "параметры" поднимаются из unpack уже "потом". После инициализации
Разумеется, пакетные задания - отдельный разговор, но, вообще-то, в Axapta довольно много разных обслуживающих процедур, которые требуют создание экземпляра класса для выполнения какого-либо анализа по структуре класса. Если у Вас в метод new передается какой-либо параметр, то есть риск получить Exception в момент создания экземпляра. Как следствие, весь функционал перестает работать
Собственно, сделайте поиск по перекрестным ссылкам, где используется хотя бы classfactory.createClass() не говоря уже о DictClass.makeObject(). Удивитесь как много подобных вызовов
Поэтому, чтобы не получить проблему "на ровном месте" в среде Axapta следует жестко придерживаться правила
Никаких параметров в методах new
Да, в большинстве случаев, у Вас проблем не будет, если Вы передадите параметр в new. Но однажды, в самый неподходящий момент, все "вдруг" перестанет работать