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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.12.2015, 17:02   #1  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
4,004 / 3299 (118) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от Link Посмотреть сообщение
Я правильно понимаю, что единственная причина, по которой вы привели это класс, что у него в свойствах Extends ничего не указанно?
Не только.
Создайте экземпляр такого класса в джобе (его или любого другого который ни от чего не наследуется). И попробуйте на нем вызывать методы класса Object
Получите ошибку времени выполнения.
Старый 03.12.2015, 17:48   #2  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Var это не тип данных - это просто ключевое слово что тип данных будет выведен из выражения при присваивании.

Var x= new MyClass();

У x тип myClass - результат совершенно тот же что и у myClass x = new MyClass()
Если вызвать x.nitExistingMetgod() результат не скопируется
Object x= new MyClass() у x тип object - можно присвоить значение-экземпляр другого класса

Если вызвать несуществующий метод результат скопируется но при запуске будет ошибка
За это сообщение автора поблагодарили: Logger (3).
Старый 03.12.2015, 21:29   #3  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2499 (89) +++++++++
Регистрация: 20.08.2005
Ну, mfp же написал, что три недели будет знакомить с новым-неизведанным)
Так что, может, дальше будет и расписано, зачем же неявная типизация в Аксапте понадобилась

Глядишь, и анонимные типы появились.
А там уже и рукой подать до встроенного linq'а)

Если что - с семеркой дел не имел, так, фантазирую))
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: mazzy (2).
Старый 04.12.2015, 07:09   #4  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от AndyD Посмотреть сообщение
Ну, mfp же написал, что три недели будет знакомить с новым-неизведанным)
Так что, может, дальше будет и расписано, зачем же неявная типизация в Аксапте понадобилась

Глядишь, и анонимные типы появились.
))
Анонимных нет - явно сказано в посте.

Поэтому такой же пользы от var как в c# нет. Есть набор мелких удобств, которые mfp указал в посте.
За это сообщение автора поблагодарили: AndyD (2).
Старый 03.12.2015, 22:17   #5  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
4,004 / 3299 (118) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Что ж смешного то ?
Нам с этим работать дальше.
Старый 03.12.2015, 22:25   #6  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
4,004 / 3299 (118) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Интересно, а если вот этот код

X++:
// тип x - AnyType
var x = myMap.lookup(sss);
Написать в каком нить стиле а-ля
X++:
// тип x - InventTable !
var x = myMap.lookup(sss) as InventTable;
Можно ли в таком случае компилятору в мозги впихнуть что ожидается тип InventTable и переменная должна быть InventTable. И чтобы перекрестные ссылки тоже подхватили.
Т.е. придать мапам типизацию на лету.

Вот здесь
http://blogs.msdn.com/b/mfp/archive/....aspx#10658170
сказано
Цитата:
DAP
3 Dec 2015 3:44 AM
#

It's basically type inferrence, so the type of variable is inferred by the compiler frm the right hand side expression. That means type safety is enforced which is not the case for Object/Common.
А нам бы сделать нечто подобное - сделать приведение типов на этапе компиляции, аналогично тому как описано по ссылке.

Последний раз редактировалось Logger; 04.12.2015 в 00:16.
Старый 04.12.2015, 07:14   #7  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от Logger Посмотреть сообщение
Можно ли в таком случае компилятору в мозги впихнуть что ожидается тип InventTable и переменная должна быть InventTable. И чтобы перекрестные ссылки тоже подхватили.
Т.е. придать мапам типизацию на лету.
.
Дженериков нет, а жаль. Можно было бы полностью перейти на дотнетовские коллекции вместо убогих аксаптовских
Старый 03.12.2015, 22:38   #8  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,452 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
А чем это будет отличаться от
X++:
InventTable x = myMap.lookup(sss);
?
Старый 04.12.2015, 07:05   #9  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
А чем это будет отличаться от
X++:
InventTable x = myMap.lookup(sss);
?
Этот код в, отличие от предыдущего, свалится, если в Map будет не InventTable. Предыдущий код запихает туда null. Поэтому когда я вижу на code review использование as без проверки на null - я делаю замечание.
Старый 03.12.2015, 23:06   #10  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
4,004 / 3299 (118) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
По смыслу - ничем.
Зато будет похоже на C# и будет использоваться ключевое слово var и с перекрестными ссылками все ок.

И волки целы и овцы сыты. Всем угодили.
Старый 04.12.2015, 08:50   #11  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Вообще var ввели в C# 3.0 и его использование породило множество сра... обсуждений. Например вот выжимка
За это сообщение автора поблагодарили: mazzy (2).
Теги
anytype, ax7, d365, mfp, var, x++

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
mfp: X++ in AX7 Blog bot DAX Blogs 0 02.12.2015 22:13
CRM DE LA CREME! Some more useful javascripts for MS CRM Blog bot Dynamics CRM: Blogs 0 04.05.2010 11:05
mscrmblog: Mini Preview Window for Contact Lookup Field Blog bot Dynamics CRM: Blogs 0 10.03.2010 01:05
CRM DE LA CREME! Some useful CRMform jscripts Blog bot Dynamics CRM: Blogs 0 02.09.2009 10:05
crmForm.IsDirty зохватит всех! Черничкин Станислав Dynamics CRM: Разработка 10 19.02.2008 08:10

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

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

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