|
|
#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() в точности такую задачу решает |
|
|
|
|
|