|
![]() |
#1 |
Участник
|
когда число параметров заранее не известно лучше в качестве параметра использовать контейнер
|
|
![]() |
#2 |
Moderator
|
X++: void myMethod(container _params) {; for(ind=1;ind<=conLen(_params); ind++) { currParam = conPeek( _params, ind ); } } |
|
![]() |
#3 |
Участник
|
Спасибо, но контейнер мне не подходит, иначе бы сам написал. Дело в том, что параметров должно быть чёткое количество. Конечно никто не мешает делать проверку внутри, но метод получиццо неюзабельный, то есть для конечного пользователя не будет очевидным сколько параметров должен метод принимать при вызове, если конечно не посмотрит его реализацию.
__________________
Axapta has seduced me deadly! ![]() |
|
![]() |
#4 |
Участник
|
Это логично. Но в данном случае количество параметров известно. А сказал я, что их может быть и 10 для того, что бы обобщить и систематизировать проблему, а так же обьяснить, почему не подходит вызов функци SomeFunc с каждым параметром отдельно в отдельном стейтменте.
__________________
Axapta has seduced me deadly! ![]() |
|
![]() |
#5 |
Участник
|
Количество параметров ф-и можно через MethodInfo (3ка) или DictMethod (4ка) узнать.
А чего хотим добиться такими манипуляциями?
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 |
|
![]() |
#6 |
Участник
|
Я не о том! Я о том, что нужно, что б в самом эдиторе компиль ругался на попытку вызвать этот метод скажем с 4мя, а не с 3мя параметрами(само собой, что в хинте по методу тоже должно отображаться нужное количество параметров), что в случае использования контейнера нереально. А количество параметров, если уж юзать контейнер, можно и без этого метода реализовать просто проверивь длину контейнера.
__________________
Axapta has seduced me deadly! ![]() |
|