X++ в AX7: Статические члены класса. Часть 5

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

Теперь можно задавать переменные класса как статические. Семантика точно такая же, как в C#, а именно: все экземпляры класса смогут использовать такой элемент, и, если один класс установит значение, другой класс может получить его.

Очевидно, что использовать это следует с осторожностью. Но есть несколько случаев, где это может пригодиться, например, сейчас намного упростилась реализация шаблона проектирования singleton.

Пример:

class MyClass
{    
    static MyClass singleton;

    public MyClass getInstance()
    {  
        if (!singleton)
        {
            singleton = new MyClass();
        }
        return singleton;
    }
}     

В предыдущих версиях AX подобного можно было добиться с помощью классов SysGlobalCache. Главное функциональное отличие между этими случаями состоит в том, что классы SysGlobalCache можно очищать. Это особенно полезно во время тестового выполнения, когда тестовый фреймворк автоматически очищает кэш между каждым запуском, что помогает избежать влияния предыдущего теста на последующий.

Статические элементы не будут очищаться автоматически – но вы, конечно же, можете сами создать метод flush() и подключить его к событию SysTest::postInvokeTearDown().

 

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

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

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

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

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

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

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

 

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

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


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

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

23.05.2018
Формы теперь могут реализовывать интерфейсыpublic class MyForm extends FormRun implements SysPackable{}     Это достаточно круто, т.к.:
13.03.2018
Перевод материала Джейсона Гумперта, редактора MSDynamicsWorld.com. Источник по ссылке.Шри Шринивасан, один из наиболее долго работающих менеджеров в команде Microsoft Dynamics, объявил о том, что он...
13.02.2018
Этот пост расскажет об одном из наиболее незаметных изменений в AX7. AX7 использует среду выполнения платформы .NET или CLR. В CLR сигнатура метода включает регистр, параметры и тип возвращаемого...

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

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


Подписка

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

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


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