click fraud detection

X++ в AX7: Сигнатуры методов. Часть 15

Дата публикации: 13.02.2018

Этот пост расскажет об одном из наиболее незаметных изменений в AX7. AX7 использует среду выполнения платформы .NET или CLR. В CLR сигнатура метода включает регистр, параметры и тип возвращаемого значения. В AX2012 сигнатурой метода являлось просто наименование метода, не зависящее от регистра.

Почему это важно? Если вы измените сигнатуру метода, все ссылки на данный метод должны быть перекомпилированы. Включая такие безобидные изменения как:

  • Исправление регистра в названии метода, например, "somemethod" -> "someMethod".
  • Изменение возвращаемого типа с void на <определенный_тип>

Вот пример, в котором я изменил регистр в имени метода, который используется тестом. Я НЕ перекомпилировал тест перед его запуском.

Обратите внимание на ошибку System.MissingMethodException: Method not found: 'Void Dynamics.AX.Application.MyClass.myMethod()'. CLR известен только метод с названием, все символы которого в нижнем регистре.

Необязательные параметры

При этом всё ещё можно добавлять или удалять необязательные параметры метода. Компилятор X++ использует перегрузку методов CLR, т.е. генерируются несколько методов с одним наименованием и отличающимися параметрами.

Мораль

Не изменяйте сигнатуру метода, если только вы не собираетесь (и имеете возможность) перекомпилировать всех потребителей метода. 

 

Этот пост относится к предварительному показу MICROSOFT DYNAMICS AX7; представлен как есть и не влечет за собой передачу каких-либо прав. 

Оригинальная статья по ссылке.

 

Другие статьи по теме:

1 часть "X++ в AX7: ключевое слово "var" доступна тут.

2 часть "X++ в AX7: ключевые слова "finally" и "using" доступна тут.

3 часть "X++ в AX7: определение типа может включать 80 знаков" доступна тут

4 часть "X++ в AX7: элементы с уровнями доступа private и public" доступна тут.

5 часть "X++ в AX7: статические члены класса" доступна тут.

6 часть "X++ в AX7: ключевые слова Client/Server" доступна тут.

7 часть "X ++ в AX7: статическая подписка на событие" доступна тут.

8 часть "X ++ в AX7: статические классы" доступна тут.

9 часть "Х ++ в АХ7: Internal keyword" доступна тут.

10 часть "Х ++ в АХ7: вещественные типы данных" доступна тут.

11 часть "Х ++ в АХ7: ключевое слово Readonly" доступна тут.

12 часть "Х++ в AX7: методы расширения" доступна тут.

13 часть "Х++ в AX7: ключевое слово Const" доступна тут.

14 часть "Х++ в AX7: объявление переменных в коде" доступна тут.

 

Акция "Тест-драйв Сопровождения"

Попробуй сопровождение АХ до подписания договора!


Узнать подробнее

Другие записи в блоге

10.01.2018
Dynamics AX – это веб-приложение, работающее в облаке, но как пользователи могут работать с файлами в такой среде? Ответ прост: так же, как и с другими веб-приложениями. Если вы знаете, как добавлять...
22.11.2017
17.11.2017
Модуль «Сводное планирование» / «Журналы» / «Резервный запас» / «Строки» / кн. «Строки журнала» / «Создать строки».1. Вычисляется количество месяцев (numOfMonth) между датой начала и датой конца...

Подпишитесь на блог

Все интересные статьи нашего блога на Вашем почтовом ящике!


Подписка

Служба контроля качества сервиса

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


Письмо директору