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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.05.2004, 12:12   #1  
Ruff is offline
Ruff
Дмитрий Ерин
Аватар для Ruff
1C
 
475 / 396 (14) ++++++
Регистрация: 18.09.2003
Адрес: Тула
Цитата:
Изначально опубликовано Lexey
Приведение по-аксаптовскию Выглядит дико, но работает
PHP код:
class C()
{
void insert()
{
    
A   ded;
    ;
    
ded this;
    if (
ded)
        
ded.insert();
}       

Такие вызовы - явная ошибка дизайна. Надо делать как belugin написал.
Дык, в том то и дело, что не работает . Совсем недавно столкнулся...
В Вашем примере вызовется метод класса С (то есть рекурсия) и произойдет переполнение стека. ded = this приводит к тому, что дед становится внуком. Это в дебаггере хорошо видно (хоть и странновато). У переменной ded после такого присвоения Type будет указывать по-прежнему на А, но Value покажет new, C.
Или я Вас неправильно понял? Так как же все-таки работает приведение (пусть даже дикое)?

Остальные предложенные варианты вполне очевидны... Но, интересно, кто-нибудь думал о варианте, когда классы А и В - системные? По-моему, нерешаемо... Кто как думает?
__________________
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как вызвать метод для поля в FormDataSource? Maxim Gorbunov DAX: Программирование 3 08.05.2007 11:28
Есть стандартный метод который возвращал бы пустую складскую аналитику т.е. "Axapta"? Hidden DAX: Функционал 8 30.05.2006 14:44
Как вызвать нужный метод класса? Pawlik DAX: Программирование 5 12.01.2006 15:47
Вопрос совсем "зеленый". Куда приткнуть метод? Hobo DAX: Программирование 3 13.02.2004 18:07
Как вызвать метод на COMVariant? Andronov DAX: Программирование 2 06.08.2003 08:29

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 05:33.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.