コード例 #1
0
        private void Initialize()
        {
            if (_initilized)
            {
                return;
            }

            lock (_initializeLock)
            {
                if (_initilized)
                {
                    return;
                }

                // до получения нормальных SysObject-ов подсовываем фиктивные
                WMSBusinessObjectTypeDescriptonProvider.AddTypeDescriptor(typeof(SysObject), new StubTypeDescriptor(typeof(SysObject)));
                WMSBusinessObjectTypeDescriptonProvider.AddTypeDescriptor(typeof(SysObjectExt), new StubTypeDescriptor(typeof(SysObjectExt)));

                base.GetAll();

                _initilized = true;

                // заменяем фиктивные на нормальные
                WMSBusinessObjectTypeDescriptonProvider.AddTypeDescriptor(typeof(SysObject), GetTypeDescriptor(typeof(SysObject)));
                WMSBusinessObjectTypeDescriptonProvider.AddTypeDescriptor(typeof(SysObjectExt), GetTypeDescriptor(typeof(SysObjectExt)));
            }
        }
コード例 #2
0
        private void ClearCacheInternal()
        {
            // чистим внутренние объекты
            _typesCache.Clear();

            // чистим кэши в поставщике описаний
            _initilized = false;
            WMSBusinessObjectTypeDescriptonProvider.ClearCache();

            // заново инициализируем
            Initialize();
        }