![]() |
#29 |
Участник
|
Это конечно да, но такое я бы назвал хардкодом.
Обязательно надо использовать switch-case. А по возможности разбить на подклассы, если нам это будет удобно. X++: static SalesFormLetter construct(DocumentStatus document, boolean getParmId = true) { switch(document) { case DocumentStatus::Confirmation : return new SalesFormLetter_Confirm (getParmId); case DocumentStatus::PickingList : return SalesFormLetter_PickingList::construct(getParmId); case DocumentStatus::PackingSlip : return new SalesFormLetter_PackingSlip (getParmId); case DocumentStatus::ProjectPackingSlip : return new SalesFormLetter_PackingSlipProject(getParmId); case DocumentStatus::Invoice : return new SalesFormLetter_Invoice (getParmId); case DocumentStatus::ProjectInvoice : return new SalesFormLetter_InvoiceProject (getParmId); default : throw error(strfmt("@SYS19306",funcname())); } throw error(strfmt("@SYS19306",funcname())); }
__________________
// no comments Последний раз редактировалось dech; 03.09.2013 в 14:38. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|