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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.11.2023, 10:23   #1  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,160 / 1289 (47) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Отлично!
А как вы определяете какую из функций вызвать в случае, если не знаете заранее тип?

Что-то мне использование System.Type с получением наименования:
X++:
retType = _sysObj.GetType();
retTypeName = retType.get_Name();
if (retTypeName == '...')
не сильно нравится. Может есть что-то более "технологичное"?
Старый 15.11.2023, 12:44   #2  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
274 / 837 (28) +++++++
Регистрация: 23.10.2012
В рамках существующих интеграций знаем типы данных...
...придется фантазировать:
Особой вариативности не вижу, потому что за капотам используется внутренний объект и доступа к нему из вне нет (System.Data.SqlClient._SqlMetaData).
Остается использовать то, что есть - System.Type.
Его можно получить, как минимум 2 способами:
- из reader'a (функция GetFieldType);
- из самого объекта, что и делаете.
С точки зрения эстетики Guid куда приятнее - для объекта типа System.Type функция get_GUID. GUID'ы типов данных можно обернуть в макросы.
Встречал реализацию, где сравнивается сам System.Type, но то с чем он сравнивается нужно держать в памяти.
Старый 15.11.2023, 15:04   #3  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
274 / 837 (28) +++++++
Регистрация: 23.10.2012
Гугл подсказал, что данный способ является оптимальным, C#:
X++:
System.Type type = reader.GetFieldType(c);

switch (Type.GetTypeCode(type))
{
    case TypeCode.DateTime:
        break;
    case TypeCode.String:
        break;
    default: break;
}
За это сообщение автора поблагодарили: Logger (5).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
fed: Net requirements update in MRP Module and Working Set of MRP Blog bot DAX Blogs 14 08.05.2012 13:09
AX.NET: интеграция .NET-приложений с Аксаптой и (будущие) возможности облачных вычислений gl00mie DAX: Программирование 2 23.04.2010 00:47
Dynamics AX: Map Object Sorting - a real issue Blog bot DAX Blogs 7 15.10.2008 12:02
Dynamics AX: .Net BC, C# - Working with AxaptaRecord Object Blog bot DAX Blogs 0 20.06.2007 23:13
Dynamics AX: .Net BC Custom App, Part III - Container Object Blog bot DAX Blogs 0 06.06.2007 22:11

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

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

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