Сборка: Metabase;
Интерфейс IMetabaseObjectInstance содержит базовые свойства и методы для работы с открытым экземпляром объекта репозитория.
IMetabaseObjectInstance
Для открытия объекта репозитория выполните метод IMetabaseObjectDescriptor.Open или IMetabaseObjectDescriptor.OpenWithParam. Полученный объект, описываемый интерфейсом IMetabaseObjectInstance, позволяет получить базовую информацию об экземпляре объекта (исходный объект, который был открыт; параметры, которые были использованы при открытии).
Для полноценной работы с определенным видом открытого объекта предназначены специфические интерфейсы, например IDatasetInstance - для работы с наборами данных, IDimInstance - для работы со справочниками, ICubeInstance - для работы с кубами и другие. Приведите к необходимому интерфейсу открытый экземпляр объекта для работы с его данными и прочих доступных специфических действий.
После открытия для полученного экземпляра объекта выделяется память, также экземпляр помещается в кэш репозитория. При повторном открытии объекта будет получен экземпляр из кэша репозитория. Если при работе с экземпляром объекта осуществляется изменение данных, то экземпляр извлекается из кэша и используется отдельно. При этом повторное открытие приведёт к созданию нового экземпляра объекта с выделением для него памяти и помещением в кэш. Необходимо учитывать данное поведение при разработке прикладного кода с целью избежания открытия лишних экземпляров объектов и, как следствие, чрезмерного расхода оперативной памяти. Неиспользуемые экземпляры объектов будут удалены сборщиком мусора в моменты простоя прикладной системы. Также для удаления экземпляра объекта в соответствии с прикладной логикой может применяться оператор Dispose.
Имя свойства | Краткое описание | |
Data | Свойство Data определяет данные объекта репозитория, с открытым экземпляром которого осуществляется работа. | |
Key | Свойство Key возвращает ключ объекта репозитория, с открытым экземпляром которого осуществляется работа. | |
Object | Свойство Object возвращает объект репозитория, с открытым экземпляром которого осуществляется работа. | |
ParamValues | Свойство ParamValues возвращает коллекцию значений параметров объекта, которые были указаны при открытии. | |
ThisObject | Свойство ThisObject возвращает структуру объекта, если открываемый объект является ярлыком для объекта из другого репозитория. |
Имя метода | Краткое описание | |
Flush | Метод Flush осуществляет очистку кэша экземпляра объекта репозитория. | |
GetExtensionDispatch | Метод GetExtensionDispatch осуществляет преобразование к общей форме объекта, от которой в дальнейшем можно перейти к необходимому классу объектов. | |
InitControlledParams | Метод InitControlledParams осуществляет вычисление выражений управления параметрами вложенного объекта. |
См. также: