COMVariant.container Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
container() |
Gets or sets the value of a COMVariant object of the container data type. |
container(Object[]) | |
container(Object[], COMVariantType) |
container()
Gets or sets the value of a COMVariant object of the container data type.
public:
virtual cli::array <System::Object ^> ^ container();
public virtual object[] container ();
abstract member container : unit -> obj[]
override this.container : unit -> obj[]
Public Overridable Function container () As Object()
Returns
The current container.
Remarks
The possible values for the newType parameter are a subset of the values that are supplied by the COMVariantType system enum:
- VT_I2
- VT_I4
- VT_R4
- VT_R8
- VT_CY
- VT_DATE
- VT_BSTR
- VT_ERROR
- VT_BOOL
- VT_DECIMAL
- VT_I1
- VT_UI1
- VT_UI2
- VT_UI4
- VT_I8
- VT_UI8
- VT_INT
- VT_UINT
If you pass in a value that has a different data type than the object, the data type of the object will be changed to match the data type of the value. When a container is stored in a COMVariant object, the binary representation of the container is stored in a binary array (see the COMVariant.safeArray method). The container property is useful when you need to store data in a database COM object and then later read the data back into Finance and Operations without the COM object processing the data. The container property is an advanced property of the COMVariant class. It should be used with caution because the content of the binary array that the container is stored in, inside the COMVariant object, must not be changed by any COM object.
The following example creates a new COMVariant object of type container. The data in the container is passed to, and used by, a database COM object. Note The code in the following section contains a hypothetical COM object MyDatabaseCOM.Object" and will therefore not run in Finance and Operations, unless such an object is created outside Finance and Operations.
{
COM com;
COMVariant var = new COMVariant();
container con;
InteropPermission perm;
// Set code access permission to help protect use of COM object
perm = new InteropPermission(InteropKind::ComInterop);
if (perm == null)
{
return;
}
// Permission scope starts here
perm.assert();
// Put some data in the container
con = conins(con, 1, "Element 1");
con = conins(con, 2, "Element 2");
// Set value of the object and ensure the data
// is stored in a binary array of bytes
var.container(con, COMVariantType::VT_UI1);
// Create a database object to store the data in
com = new COM("MyDatabaseCOM.Object");
com.writeData(var);
// ...
// Close code access permission
CodeAccessPermission::revertAssert();
}
Applies to
container(Object[])
public:
virtual cli::array <System::Object ^> ^ container(cli::array <System::Object ^> ^ objArray1);
public virtual object[] container (object[] objArray1);
abstract member container : obj[] -> obj[]
override this.container : obj[] -> obj[]
Public Overridable Function container (objArray1 As Object()) As Object()
Parameters
- objArray1
- Object[]
Returns
Applies to
container(Object[], COMVariantType)
public:
virtual cli::array <System::Object ^> ^ container(cli::array <System::Object ^> ^ _newValue, Dynamics::AX::Application::COMVariantType _newType);
public virtual object[] container (object[] _newValue, Dynamics.AX.Application.COMVariantType _newType);
abstract member container : obj[] * Dynamics.AX.Application.COMVariantType -> obj[]
override this.container : obj[] * Dynamics.AX.Application.COMVariantType -> obj[]
Public Overridable Function container (_newValue As Object(), _newType As COMVariantType) As Object()
Parameters
- _newValue
- Object[]
The type of the new container; optional. The default is for the container to store integers.
- _newType
- COMVariantType
The type of the new container; optional. The default is for the container to store integers.