Data type returns with Strict On and Strict Off

The conventions for Option Strict On and Option Strict Off are described in Option Strict.

The return from the ObjProperty function is an Object because it can return many different types of data. This data includes strings, numbers, dates and arrays of these types.

When you use CType, ensure that you are converting to the correct data type. For example, if the ObjProperty function returns an array of integers, you must convert it as such. An error occurs when you attempt to convert to a different data type.

To determine what exactly is returned, you can use the GetType method on the returned object.

This syntax prints a message list that indicates the data type that was returned by the system.


Dim oItems As Object = ObjProperty("ITEMCODE.INGR.A", "", "", "*","")
MessageList("oItems variable is of the type: ", oItems.GetType().Name)

The name of the data type is the .Net name for the data type. See the MSDN article that lists the VB data types for more information: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vblr7/html/vagrpdatatype.asp

To test for the data type, use the TypeOf keyword.


Dim oItems As Object = ObjProperty("ITEMCODE.INGR.A", "", "", "*","")
If TypeOf oItems Is Object() Then
Dim oItemCds() As Object = CType(oItems, Object())
' processing logic...
End If