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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.01.2015, 01:13   #1  
Blog bot is offline
Blog bot
Участник
 
25,643 / 848 (80) +++++++
Регистрация: 28.10.2006
axforum blogs: Типы X++ date/utcDateTime НЕ преобразуются автоматически в System.DateTime в .NET CIL
Источник: http://axforum.info/forums/blog.php?b=8169
==============

Замечательная статья MSDN How to: Marshal Between X++ and CLR Primitive Types [AX 2012] утверждает следующее: Цитата:
In Microsoft Dynamics AX, the X++ language does implicit conversion or marshaling between several X++ primitive types and their counterpart types managed by the common language runtime (CLR). This means that the X++ assignment operator, the single equal sign (=), can be used between certain pairings of an X++ type with a .NET Framework CLR type.

Среди поддерживаемых значится преобразование dateSystem.DateTime; на самом деле, в интерпретаторе X++, по крайней мере, в AX 2012 R2 и выше замечательно преобразуются и значения типов utcDateTimeSystem.DateTime! Но рассмотрим такой пример кода:X++:
System.Web.HttpCookie cookie = new System.Web.HttpCookie('test');date dateVar = today() + 1;cookie.set_Expires(dateVar);
Всё хорошо, пока дело не доходит до выполнения в CIL - а тут нас поджидает System.NotSupportedException с сообщением вида Цитата:
DateTimeConverter cannot convert from Microsoft.Dynamics.Ax.Xpp.AxShared.Date

либо Цитата:
DateTimeConverter cannot convert from Microsoft.Dynamics.Ax.Xpp.AxShared.utcdatetime

если rvalue - типа utcDateTime. В чем же дело? А в том, что магия неявного преобразования типов работает только в интерпретаторе байт-кода X++, а в CIL все происходит иначе, поэтому если есть хотя бы нановероятность того, что подобный ваш код будет выполняться в CIL, всегда выполняйте явное преобразование типов вида:X++:
cookie.set_Expires(CLRInterop::getObjectForAnyType(dateVar));



Источник: http://axforum.info/forums/blog.php?b=8169
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axmfg: Lean manufacturing: Picking activities and kanban line events Blog bot DAX Blogs 0 26.08.2014 21:13
crminthefield: Creating SSL Certificates for CRM Test Environment Blog bot Dynamics CRM: Blogs 0 10.12.2013 02:12
atinkerersnotebook: Walkthrough & Tutorial Summary Blog bot DAX Blogs 1 09.09.2013 09:11
fed: Net requirements update in MRP Module and Working Set of MRP Blog bot DAX Blogs 14 08.05.2012 13:09
Ошибка бизнес-процесса Tarasov E Dynamics CRM: Разработка 9 18.02.2010 14:02

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

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

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