|
![]() |
#1 |
Участник
|
технически у тебя два разных класса: исходный и его расширения. очевидно невозможно перекрывать методы расширений (они ж final) ни в классах наследниках, ни в их, наследниках, расширениях. поэтому, строго говоря, это вообще два разных метода у тебя, несмотря на то, что имена у них одинаковы.
если бы расширение класса-наследника "видело" все добавленные во всех расширениях методы класса-родителя, то потребовалось бы вызывать next. и наоборот, если бы расширенные методы класса-родителя трактовались как "родные", они были бы доступны к перекрытию, но ты не можешь вызвать super во втором методе. так что IS и AS твои друзья тут
__________________
Felix nihil admirari |
|
|
За это сообщение автора поблагодарили: trud (2), malex (1), ax_mct (3). |
![]() |
#2 |
Участник
|
![]()
Я так и поступил, но надеялся что это был workaround. Придется почти весь код из наследников переносить в родительский классы с кучей кейсов.
![]() PS: Я все таки думал что на уровне своих методов в экстеншенах будет наследование. А то получается мы у себя в МС будем использовать наследование и override, а вы со своими ISV решениями мучайтесь как хотите и плевать что архитектура внутри у вас будет не очень и с кучей дублирования кода. Последний раз редактировалось malex; 08.11.2018 в 09:46. |
|
![]() |
#3 |
Moderator
|
Цитата:
Сообщение от malex
![]() Я так и поступил, но надеялся что это был workaround. Придется почти весь код из наследников переносить в родительский классы с кучей кейсов.
![]() PS: Я все таки думал что на уровне своих методов в экстеншенах будет наследование. А то получается мы у себя в МС будем использовать наследование и override, а вы со своими ISV решениями мучайтесь как хотите и плевать что архитектура внутри у вас будет не очень и с кучей дублирования кода. 1. Определить свои классы как наследники inventMov_purch, inventMov_Sales и тп 2. Переопределить с помощью CoC метод inventMovement::constructNoThrow(), так чтобы он возвращал экземпляры своих классов, вместо стандартных ? |
|
Теги |
chain of command, d365fo |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|