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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.04.2010, 08:40   #1  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Как определить имя класса, возвращаемого методом
Есть метод, тип возвращаемого значения которого класс. Как, используя DictMethod или MethodInfo (или возможно ещё что-нибудь, но без вызова самого метода), узнать имя этого класса?
Старый 23.04.2010, 08:55   #2  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
375 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Например, можно так
__________________
Sergey Nefedov
Старый 23.04.2010, 09:36   #3  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от SRF Посмотреть сообщение
Например, можно так
А куда конкретно смотреть? Мне нужно определить тип не входящего параметра а возвращаемого

Проблема в том, что если DictMethod.ReturnType == Types::Class, то DictMethod.ReturnId == "". Как в этом случае добраться до возвращаемого типа?
Старый 23.04.2010, 09:38   #4  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Есть метод, тип возвращаемого значения которого класс. Как, используя DictMethod или MethodInfo (или возможно ещё что-нибудь, но без вызова самого метода), узнать имя этого класса?
X++:
// 23.04.2010, EVO
static void returnClassName(Args _args)
{
    DictMethod      dictMethod;
    ;

    dictMethod = new dictmethod(UtilElementType::ClassInstanceMethod, classnum(Info) ,methodstr(Info, docu));

    if (dictMethod.returnType() == Types::Class)
    {
        info(new DictClass(dictMethod.returnId()).name());
    }
}
За это сообщение автора поблагодарили: S.Kuskov (2).
Старый 23.04.2010, 10:13   #5  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Спасибо. Видимо проблема была в том, что я использовал не тот UtilElementType
Старый 23.04.2010, 10:23   #6  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
375 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
А куда конкретно смотреть? Мне нужно определить тип не входящего параметра а возвращаемого

Проблема в том, что если DictMethod.ReturnType == Types::Class, то DictMethod.ReturnId == "". Как в этом случае добраться до возвращаемого типа?
А вы job запускали ?

Смотреть вот сюда.

X++:
methodNameTxt += strfmt( "%1 %2", extendedTypeId2DisplayName( dictMethod.returnType(), dictMethod.returnId() ), dictMethod.name() ) ;
__________________
Sergey Nefedov
За это сообщение автора поблагодарили: S.Kuskov (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
HRM,склонение ФИО и все все все OmenSore DAX: Функционал 22 09.02.2009 17:08
Вызов метода базового класса Eldar9x DAX: Программирование 15 22.03.2008 19:10
передача курсора в два класса kitty DAX: Программирование 3 09.08.2006 13:21
Как определить название Extended DataType возвращаемого методом значения Morpheus DAX: Программирование 3 05.04.2006 13:53
Запустить метод класса loka DAX: Программирование 2 13.03.2006 15:40

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

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

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