18.02.2008, 18:57 | #1 |
Участник
|
Значение по умолчанию параметра типа EDT c array elements либо просто массива
Ребята, очередной вопрос из разряда: ламер хочет всё и сразу, поэтому не обессудте.
Во время написания парм метода для поля, которое базируется на EDT real типа с количеством ArrayElements равным двум, столкнулся с проблемой присвоения значений по умолчанию. 0, равно как и Null в качестве значения по умолчанию метод не принимает. Вспомнил, что есть известное EDT Dimensions с несколькими ArrayElements. От рациональности реализации парм-метода для поля, которое базируеццо на эту Идетешку просто офигел. При передаче параметра вызывается статический метод(на какой таблице уже не помню) и возвращает неинициализированную переменную этого же типа. Ну что-то на подобии Хедер парма: X++: public Dimension parmDimesion(Dimension _dim =SomeTable::emptyDim()) X++: public static Dimension emptyDim() { Dimension dim; ; return dim; } Так же усложняет ситуацию то, что параметр по умолчанию может быть лишь один, поэтому такой трюк не пройдёт: X++: public Dimension parmDimesion(real x=0, y=0) Конечно можно отказаться от использования массивного поля и разделить его релизацию в 2 отдельных поля, но это так же не выход. Может кто-нибудь из гуру сталкивался с такой проблемой, будет очень интересно узнать есть ли всё-таки для неё вразумительный солюшн. Зарание спасибо.
__________________
Axapta has seduced me deadly! Последний раз редактировалось HorrR; 18.02.2008 в 19:10. |
|