![]() |
#1 |
Соучастник
|
![]()
Скажите пожалуйста, как реализовать подобную конструкцию в x++?
Java code: Код: public class Class1{ private static Class1 inst=null; private void initInstance(){ //initialization code } public static Class1 getInstance(){ if(inst==null)initInstance(); return inst; } } //somewhere Class1 cl = Class1::getInstance(); Код: Object classInstance = AOSUtils::getCurrentSession().getCustObjects()[1];
__________________
View Anton Soldatov's LinkedIn profile |
|
![]() |
#2 |
NavAx
|
а static медод класса getInstance() не сможет такое провернуть? Честно говоря не попробовал, аксапта сейчас недоступна, но в чем тут криминал?
|
|
![]() |
#3 |
Соучастник
|
в том, что в х++ статические переменные в классе нельзя объявлять.
__________________
View Anton Soldatov's LinkedIn profile |
|
![]() |
#4 |
NavAx
|
А! ты еще и хочешь что б этот инстанс был один...
![]() |
|
![]() |
#5 |
Соучастник
|
понимаю, что совсем напрямую это скорей всего не получится. но как минимум вижу один выход: сериализация обьекта в xml или текст и хранение оного во временной таблице, но хочется найти все-таки более красивое и "родное" для Аксапты решение.
__________________
View Anton Soldatov's LinkedIn profile |
|
![]() |
#6 |
NavAx
|
это немного через анус
![]() хотя других вариантов я собственно и не вижу... |
|
![]() |
#7 |
Соучастник
|
![]()
__________________
View Anton Soldatov's LinkedIn profile |
|
![]() |
#8 |
----------------
|
globalCache
Более родное для Аксапты будет использование globalCache
|
|
![]() |
#9 |
Соучастник
|
Спасибо. Это как раз оно самое.
__________________
View Anton Soldatov's LinkedIn profile |
|
![]() |
#10 |
Moderator
|
Я бы сказал - роднее всего добавлять методы в класс ClassFactory.
Скажем, там метод InventDimGlobal() в точности такую задачу решает |
|
|
|