|
![]() |
#1 |
Участник
|
Цитата:
Мне кажется, было бы корректнее реализовать некую иерархию классов-обработчиков этого изменения, каждый из которых мог бы создаваться под свою конкретную таблицу (в любом случае изначально на все существующие таблицы может быть один-единственный класс), и в любом случае жестко зашить весь список таблиц, о которых вы сейчас знаете: X++: static TMN_ImportStatusUpdater_Base construct(TableId _tableId) { TMN_ImportStatusUpdater_Base ret; ; switch(_tableId) { case tablenum(TMN_Table1) : case tablenum(TMN_Table2) : case tablenum(TMN_Table3) : ret = new TMN_ImportStatusUpdater_Base(); break; default : throw error(error::wrongUseOfFunction(funcname())); } ret.parmTableId( _tableId ); return ret; } // ... tableId = dfTableId.value(); newStatus = dfStatus.value(); TMN_ImportStatusUpdater_Base::construct( tableId ).updateImportStatus( newStatus ); Последний раз редактировалось gl00mie; 13.03.2009 в 15:14. Причина: исправление кода примера |
|
|
За это сообщение автора поблагодарили: mazzy (2), oip (1). |
![]() |
#2 |
Axapta
|
В общем случае - согласен. Но в каком-то конкретном, такое решение через common может и иметь смысл, надо на постановку задачи смотреть. Если это функция, типа "очистить все" в каком-нибудь функционале, расположенном сбоку, то why not?
Там в "поблагодарить..." текст левый случайно попал, рука дрогнула. Не обращайте внимание. |
|
Теги |
шаблон |
|
|