8-800-700-15-02

Звонок по России
бесплатный

info@i-neti.ru

X++ в AX7: Ключевое слово Readonly. Часть 11

asd
Дата публикации: 14.09.2017

В AX7 X++ сейчас есть поддержка ключевого слова readonly. Семантика идентична readonly в C#.

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

class MyClass 
{  
    readonly str identifier = "XYZ";  
    readonly str identifier2;  

 

    public void new(str _identifier) 
    {  
        identifier2 = _identifier;  
    }  

    public void foo() 
    { 
        // Поле ‘identifier2’ только для чтения. Значение не может быть назначено. 

        //identifier2 = "ABC";
    }  
}  

 

Большой вопрос: «Когда это использовать?» На мой взгляд, сценарии фактического использования ограничены - просто потому, что другие языковые конструкции все еще отсутствуют.

В X++ мы до сих пор рекомендуем использовать паттерны construct и newFrom. Эти шаблоны рекомендуют не иметь никаких параметров в методе new - readonly мало применим, когда метод new не имеет параметров.

Итак, почему мы предпочитаем метод new без параметров?

  • Он дает возможность сериализовать классы с использованием шаблона pack/unpack – все классы, наследованные от RunBase, подчиняются этому.
  • Он дает возможность использовать extension framework и smart customizations.

Как только X++ будет поддерживать getters/seters и перегрузку метода (по крайней мере перегрузку метода new), тогда использование readonly станет удобно.

Если у вас есть хороший сценарий использования readonly, пожалуйста, поделитесь этим в комментарии ниже.

 

Этот пост относится к предварительному показу 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: вещественные типы данных" доступна тут.

 

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

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


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

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

20.02.2020
Упрощенное получение значения аналитики После релиза Dynamics 365 for Operations [Enterprise Edition] структура аналитик и бизнес-логика немного изменились. В этом посте я познакомлю вас с...
17.02.2020
В этом ролике Дмитрий, разработчик Dynamics расскажет:
24.01.2020
В этом видео Дмитрий Уткин расскажет о том, как автоматически собрать модель в Microsoft Dynamics AX 2012 с помощью Pipelines в Azure DevOps.

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

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


Подписка

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

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


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