Assembly: Metabase;
The IMetabaseObjectInstance interface contains properties and methods that are used to work with an opened instance of repository object.
IMetabaseObjectInstance
Execute the IMetabaseObjectDescriptor.Open or IMetabaseObjectDescriptor.OpenWithParam method to open a repository object. The obtained object described by the IMetabaseObjectInstance interface enables the user to get basic information about an object instance (a source object that was opened; parameters that were used on opening).
Full features of working with a specific type of opened object are available by using specific interfaces, for example, IDatasetInstance - for working with data sets, IDimInstance - for working dictionaries, ICubeInstance - for working with cubes, and so on. Cast the opened object instance to the required interface to work with its data and execute other available specific operations.
After opening, memory is allocated for the obtained object instance, and the instance is moved to repository cache. On repeated object opening, the instance will be obtained from repository cache. If data is changed when working with object instance, the instance is obtained from cache and is used separately. In this case, repeated opening will cause creation of a new object instance with memory allocation for it and moving to cache. Take into account this behavior when developing application code to avoid opening extra object instances and, as a result, excessive use of RAM. Unused object instances will be deleted by garbage collector during application system downtime. Instances can also be deleted, according to the application logic, using the Dispose statement.
| Property name | Brief description | |
![]() |
Data | The Data property determines the data of the repository object, which opened copy is used for work. |
![]() |
Key | The Key property returns a key of the repository object, which opened instance is used for work. |
![]() |
Object | The Object property returns an object of the repository, which opened instance is used for work. |
![]() |
ParamValues | The ParamValues property returns a collection of values of the object parameters, which were specified during the opening. |
![]() |
ThisObject | The ThisObject property returns the structure of the object if the opened object is a shortcut for the object from another repository. |
| Method name | Brief description | |
![]() |
Flush | The Flush method flushes cache of the repository objects instance. |
![]() |
GetExtensionDispatch | The GetExtensionDispatch method performs conversion to common object form, from which it is possible to move to the required object class. |
![]() |
InitControlledParams | The InitControlledParams method calculates expressions of the nested object parameters management. |
See also: