09.12.2015, 11:11 | #1 |
Участник
|
mfp: X++ in AX7: Static members
Источник: http://blogs.msdn.com/b/mfp/archive/...c-members.aspx
============== You can now declare class member variables as static. The semantics are exactly the same as in C#; namely that all instances of the class will share the member, e.g. if one class sets the value, another class can get it. Naturally; this should be used with care, but there are some really cool use cases, for example, implementing a singleton pattern in now much cleaner. Example: class MyClass { static MyClass singleton; public MyClass getInstance() { if (!singleton) { singleton = new MyClass(); } return singleton; } } In previous versions of AX you could achieve similar behavior through the SysGlobalCache classes. The main functional difference between the two is that you can flush the SysGlobalCache classes. This is especially useful during test execution, where the test framework is automatically flushing the caches between each run to avoid state leaking from one test to another. Static members will not automatically be flushed – you can of course create a flush() method yourself and hook it up to the SysTest::postInvokeTearDown() event. THIS POST APPLIES TO MICROSOFT DYNAMICS AX7 PREVIEW; IS PROVIDED AS-IS AND CONFERS NO RIGHTS. ============== Источник: http://blogs.msdn.com/b/mfp/archive/...c-members.aspx
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
10.12.2015, 19:41 | #2 |
Участник
|
Naturally; this should be used with care. Надеюсь разработчики ядра это прочитали и не будут создавать синглтон с полями QTY, CostAmount и юзать в разных по смыслу разносках, чтобы не протягивать параметры по parm методам и контрактам.
|
|
11.12.2015, 06:49 | #3 |
NavAx
|
Да ладно, проживем как нибудь. Не впервой заплаты на стандарт лепить. Главное чтобы разноску в ГК через пакеты не сделали основным подходом. Хватит с нас уже того, что такая опция есть в принципе.
__________________
Isn't it nice when things just work? |
|
11.12.2015, 11:16 | #4 |
Участник
|
>>In previous versions of AX you could achieve similar behavior through the SysGlobalCache classes
|
|
11.12.2015, 11:38 | #5 |
Участник
|
Бросилось в глаза. Разве метод getInstance не должен быть объявлен как статический?
X++: public static MyClass getInstance() |
|