AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.10.2009, 10:36   #1  
cerbo is offline
cerbo
Участник
 
25 / 11 (1) +
Регистрация: 02.10.2008
? Как работает тернарный оператор
Почему для этого кода, в предпоследней строке, вываливает ошибка "Типы операнда не совместимы с оператором.":
X++:
return        _cmd == Command::CopyAll ? new EditCopyAll ()
            : _cmd == Command::Copy    ? new EditCopy    ()
            : _cmd == Command::MoveAll ? new EditMoveAll () 
            : _cmd == Command::Move    ? new EditMove    ()   // ошибка "Типы операнда не совместимы с оператором."
            : null;
причем если упростить до такого, то все ОК:
X++:
return        _cmd == Command::CopyAll ? new EditCopyAll ()
            //: _cmd == Command::Copy    ? new EditCopy    ()
            //: _cmd == Command::MoveAll ? new EditMoveAll () 
            //: _cmd == Command::Move    ? new EditMove    ()
            : null;

Это очередная баго-фича или есть смысл в таком поведении?
__________________
Dynamics AX 4.0.2501.122 SP2, kernel 4.0.2163.0, MS SQL 2005
Теги
best practice, x++, антипаттерн, как правильно

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
почему на работает common.(fieldId)[idx] maze DAX: Программирование 3 31.08.2007 06:48
Тернарный оператор в select novic DAX: Программирование 7 10.07.2007 19:13
JOIN программно на форме не работает rohlenko DAX: Программирование 2 31.03.2005 15:41
Не работает Debugger Antidot DAX: Программирование 0 20.12.2004 13:53
CRM ABC, SWOT анализ Как это работает и работает ли вообще. ShadowFromXZone DAX: Функционал 16 02.03.2004 18:09

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 01:04.