click fraud detection

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" доступна тут.

 

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

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


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

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

14.09.2017
В AX7 X++ сейчас есть поддержка ключевого слова readonly. Семантика идентична readonly в C#.Вкратце: это позволяет вам определять члены класса, которые могут быть проинициализированы только при...
07.09.2017
В AX2012 переменные типа real компилируются как тип System.Decimal при компилировании CIL. В AX7 это является единственным возможным вариантом.Основное отличие между этими вариантами в максимальном...
04.09.2017
Почему аутсорсинговая компания эффективнее штатных IT-специалистов Бывают ситуации, когда штатные специалисты основную часть своего времени проводят в ожидании запросов или не могут...

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

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


Подписка

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

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


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